首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery切换:循环效果+多个切换

问jquery切换:循环效果+多个切换
EN

Stack Overflow用户
提问于 2013-07-01 17:02:12
回答 2查看 1.8K关注 0票数 2

使用下面的切换(小提琴),我希望能够执行以下操作:

  1. 有一个循环的效果,即能够打开和关闭开关的次数,我想。现在,我只能打开和关闭切换一次,因为我不能获得第二个打开链接来命令淡出效果再次。
  2. 在同一篇文章中调用几个开关(joomla网站)。我尝试过复制代码并使用heading2、content2,但没有成功。这是我的密码:

代码语言:javascript
复制
<div>
   <span class="heading">This is the beginning of the sentence. </span>
   <span class="content">This is the end of the sentence. </span>
</div>

CSS

代码语言:javascript
复制
.heading {
   cursor: pointer;
}

JS

代码语言:javascript
复制
jQuery(document).ready(function () {
    jQuery(".content").hide();
    //toggle the componenet with class msg_body
    $('<a href="#" id="read-more-link">[Read More]</a>').appendTo('.heading');
    $('#read-more-link').click(function (e) {
        e.preventDefault();
        $(this).fadeOut();
        $(this).next($(".content").fadeToggle(1000));
    });
    $('<a href="#" id="close-link">[close]</a>').appendTo('.content');
    $('#close-link').click(function (e) {
        e.preventDefault();
        $(this).fadeOut();
        $(this).next($(".content").fadeToggle(1000));
        $('<a href="#" id="read-more-link">[Read More]</a>').appendTo('.heading');

    });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-01 17:22:33

这里有一个我认为更简单的例子。它减少了DOM中元素的附加和删除:

http://jsfiddle.net/4Mq3B/

代码语言:javascript
复制
$(document).ready(function () {
    $('.content').after('<a href="#" class="toggle-link">[Read More]</a>');
    $(".content").hide();
    $('.toggle-link').click(function (e) {
        e.preventDefault();
        var $link = $(this);

        if ($link.data('expanded') == true) {
            $link.data('expanded', false);
            $link.text('[Read More]');            
        } else {
            $link.data('expanded', true);
            $link.text('[Close]');
        }

        $link.prev(".content").fadeToggle(1000);
    });    

});
票数 3
EN

Stack Overflow用户

发布于 2013-07-01 17:18:17

1-由于您希望在同一个页面上使用多个read多/关闭链接,所以您必须使用类而不是id,因为您不能重复id。

2-要使用类,遍历必须相对于当前元素。

动画需要改进,但是这是一个有用的版本

代码语言:javascript
复制
jQuery(document).ready(function() {
    jQuery(".content").hide();

    //toggle the componenet with class msg_body
    $('<a href="#" class="read-more">[Read More]</a>')
        .appendTo('.heading'); 

    $('.read-more').on('click', function(e) {
        e.preventDefault();
        $(this).fadeOut();
        $(this).closest('.heading').next(".content").fadeToggle(1000);  
    }); 

    $('<a href="#" class="close-link">[close]</a>').appendTo('.content');

    $('.close-link').on('click', function(e) {
        e.preventDefault();
        $(this).closest('.content').fadeToggle(1000)
            .prev('.heading').find('.read-more').fadeToggle(1000);

    });
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17409843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档