gpt4 book ai didi

javascript - 可见切换有问题吗?

转载 作者:行者123 更新时间:2023-12-01 01:45:39 24 4
gpt4 key购买 nike

  $('.sub-menu').on('click', function(){
var menu = $(this).parents('.row').next()
$(menu).slideToggle();
var text = $(menu).is(':visible') ? 'open' : 'close';
$('.sub-menu-status').text(text);
});

由于某种原因,它只输出close,而从不写入open

检查了代码并尝试了这种变体,但得到与上面相同的结果:

  var text = $(menu).css('display') == 'none' ? 'open' : 'close';

有人可以帮我理解这一点吗?谢谢。

jsFiddle 更新:http://jsfiddle.net/#&togetherjs=LlkSSawSsb

最佳答案

this 问题中我得知 is(':visible') 将在 slideToggle 转换开始时进行检查。所以它总是返回true

试试这个

$('.sub-menu').on('click', function(){
var menu = $(this).parents('.row').next()
var text = $(menu).is(':visible') ? 'close' : 'open';
$(menu).slideToggle();
$('.sub-menu-status').text(text);
});

DEMO

或者在 slideToggle 的回调中执行此操作

 $('.sub-menu').on('click', function(){
var menu = $(this).parents('.row').next()
$(menu).slideToggle(function() {
var text = $(menu).is(':visible') ? 'open' : 'close';
$('.sub-menu-status').text(text);
})
});

DEMO

关于javascript - 可见切换有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25173338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com