2

所以这里有一个显示/隐藏切换按钮,效果很好。是相同的确切代码,除了我将'slow'参数传递给.toggle操作。为什么按钮的值在第一个示例中正确切换,而在第二个示例中却没有?'slow'将参数传递给操作是否会.toggle以某种方式导致:visible伪类返回 true?

4

2 回答 2

0
$('#toggleButton2').click(function () {
    $('#disclaimer').toggle('slow', function () {
        if ($('#disclaimer').is(':visible')) {
            alert('hide');
            $('#toggleButton2').val('Hide');
        } else {
            alert('Show');
            $('#toggleButton2').val('Show');
        }
    });
});

JS 小提琴链接

相同但很短

$('#toggleButton2').click(function () {
    $('#disclaimer').toggle('slow', function () {
        $(this).is(':visible') ? $('#toggleButton2').val('Hide') : $('#toggleButton2').val('Show')

    });
});

第二次尝试的 JS FIDDLE 链接

于 2013-04-11T06:05:35.097 回答
-1

在这里复制

在完成时使用.toggle()回调。

另一个问题的代码示例

$("#moreOptions").slideToggle('slow', callbackFn);

function callbackFn(){

     var $link = $("#lnkMoreOpt");

     $(this).is(":visible") ? $link.text("Less Options «") : $link.text("More Options »");


}

请在询问之前使用搜索栏和谷歌搜索一下。不过,希望这会有所帮助!

于 2013-04-11T05:53:49.903 回答