在jQuery 1.9.1中切换脚本

时间:2013-02-14 04:58:25

标签: javascript jquery

我刚刚将网站升级到1.9.1,下面的网址不再适用了:

脚本

$(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),我会很感激。

谢谢!

2 个答案:

答案 0 :(得分:2)

This functionality of .toggle was removed in 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; });
});

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

答案 1 :(得分: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");
        });
    });