jQuery toggle()函数不起作用

时间:2013-09-15 01:39:07

标签: javascript jquery html html5 toggle

之前可能会问这个问题。但是我找不到错误。这是来自新波士顿的视频教程。

$(document).ready(function(){
$('#btn').toggle(function(){
    $('#msg').html('yes');
},function(){
    $('#msg').html('No');
});
});

视频显示,首次点击div文字为,下次显示 但是当我尝试时,当页面加载时,按钮淡出和div显示。为什么?可能还有其他方法可以实现此功能。但为什么这不起作用。他将切换的语法显示为

$('#btn').toggle(function(){code},function{code});

1 个答案:

答案 0 :(得分:12)

http://api.jquery.com/category/deprecated/

  

注意:此方法签名在jQuery 1.8中已弃用并已删除   在jQuery 1.9中。 jQuery还提供了一个名为的动画方法   .toggle()切换元素的可见性。是否   动画或触发的事件方法取决于参数集   过去了。

http://api.jquery.com/toggle-event/

OP发表评论后更新

DEMO

如果你想让这段代码适用于任何版本的jQuery

$(document).ready(function () {
    var arr = ['yes', 'no'],
        i = 0;
    $('#btn').click(function () {
        $('#msg').html(arr[i++ % 2]);
    });
});

DEMO

如果你想在将来使用toggle-event类似的功能

使用.one()

$(document).ready(function () {
    function handle1() {
        $('#msg').html('yes');
        $('#btn').one('click', handle2);
    }

    function handle2() {
        $('#msg').html('no');
        $('#btn').one('click', handle1);
    }
    $('#btn').one('click', handle1);
});

切换为removed in version 1.9,因此您无法使用它 - 如果您希望手动实施此逻辑,或者您可以使用migration plugin

包含迁移插件,包含jQuery库添加

之后
<script src="http://code.jquery.com/jquery-migrate-1.2.1.js"></script>