gpt4 book ai didi

javascript - Jquery slidedown if 语句不比较 $(this)

转载 作者:行者123 更新时间:2023-11-30 07:45:37 27 4
gpt4 key购买 nike

我有一个要点击的按钮列表。如果单击的链接是新链接,我希望 div 向下滑动,但如果它是上次单击的链接,我只希望 div 向上滑动。

所以我的代码是:

var $lastflyout = '';
$('.links-text a').each(function(){
$(this).click(function(){
if($(this) == $lastflyout) {
alert('last equals');
$('#flyout').slideUp(500);
}
else {
$('#flyout').slideUp(500);
$('#flyout').slideDown(500);
}
$lastflyout = $(this);


});

});

并且出于某种原因,它从不提醒“最后等于”,因此永远不会进入第一个 if 语句。我尝试提醒 $lastflyout,它说在第一次点击后它是一个对象,但我不知道为什么第一个 if 语句不起作用。

感谢您的帮助。

最佳答案

两个等价对象不相等,除非它们是完全相同的对象。由于 $() 克隆了一个对象:

$(this) == $(this)

总是错误的。如果您只是使用普通的 JS 对象而不是 jQuery 并为其创建别名而不是克隆,它将起作用:

if(this == lastflyout) {
alert('last equals');
$('#flyout').slideUp(500);
}
else {
$('#flyout').slideUp(500);
$('#flyout').slideDown(500);
}
lastflyout = this;

关于javascript - Jquery slidedown if 语句不比较 $(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154165/

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