3

我刚刚将一个站点升级到 1.9.1,下面的 scipt 不再工作:

脚本

$(document).ready(function(){
    $("#button").toggle(function() {
        $(this).text('Hide content');
    }, function() {
        $(this).text('Show content');
    });
    $('#button').click(function(){
       $("#content_div").slideToggle("medium");
    });
});

HTML

<a href="#" id="button">Show content</a>

我不太擅长 jQuery,所以我希望有人可以帮助我处理这个脚本,如果答案包含对解决方案的解释(尝试学习 jQuery),我将不胜感激。

谢谢!

4

2 回答 2

2

这个功能.toggle在 jQuery 1.9 中被移除

有多种方法可以处理这个问题。一种是在内部简单地跟踪对象的点击状态。

$("#button").on('click', function () {
    if ($(this).data('clicked')) {
        //functionality state 2
    }
    else {
        //functionality state 1
    }
    $(this).data('clicked', function (_, data) { return !data; });
});

您甚至可以使用整数和模数来管理两个以上的状态。

于 2013-02-14T05:03:14.193 回答
0

我认为以下内容为您提供了您正在寻找的全部功能。这对我来说是不言自明的,但话又说回来,我写了它哈哈。所以让我知道它是否有意义并做你需要做的事情:)

$(document).ready(function(){
        $('#button').click(function(){
            var txt = "Show Content";
            if ($("#button").html()==txt)
            {
                txt = "Hide content";
            }
            $("#button").html(txt);


            $("#content_div").slideToggle("medium");
        });
    });
于 2013-02-14T05:28:21.653 回答