gpt4 book ai didi

javascript - 将两个变量设置为同一 dom 元素时,jquery 语句未评估为 true

转载 作者:行者123 更新时间:2023-11-29 15:48:33 26 4
gpt4 key购买 nike

我正在尝试处理 mouseover/mouseout 动画,当您将鼠标悬停在您之前将鼠标悬停在其上的元素上时,我的声明未评估为 true。我正在尝试防止出现双重翻转动画。这是我的代码:

var $chosenThumb = null;
var $lastThumb = null;

$('.thumb_img').mouseover(function(){

if ($chosenThumb != null){
$lastThumb = $chosenThumb;
$lastThumbContainer = $chosenThumb.parent();
$lastThumbOverlay = $lastThumbContainer.children('.thumb_overlay');
}

$chosenThumb = $(this);

console.log($lastThumb + "|" + $chosenThumb + "|" + ($lastThumb == $chosenThumb));

$chosenThumbContainer = $(this).parent();
$chosenThumbOverlay = $chosenThumbContainer.children('.thumb_overlay');

if ($lastThumb != null && $lastThumb != $chosenThumb){
$lastThumbOverlay.animate({ 'height' : '0px'}, 200);
$lastThumbContainer.children('.thumb_plus').animate({'height' :'0px', 'width' : '0px' },200);
}

if ($lastThumb != $chosenThumb) {
$chosenThumbOverlay.animate({ 'height' : '30px'}, 200);
$chosenThumbContainer.children('.thumb_plus').animate({'height' :'31px', 'width' : '31px' },200);
}
});

因此,当您第一次将鼠标悬停在缩略图上时,lastThumb 将为空,而 chosenThumb 将成为您滚动的拇指。然后下次将鼠标悬停在该缩略图上时,lastThumb 应等于 chosenThumb,但日志语句的计算结果不为真。为什么?

最佳答案

即使使用相同的选择器,每个 jQuery 对象都是 jQuery 的新实例。要比较元素,您必须比较实际的 DOM 元素:

//$lastThumb[0] returns the first DOM element from the jQuery selector
$lastThumb[0] == $chosenThumb[0]

关于javascript - 将两个变量设置为同一 dom 元素时,jquery 语句未评估为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8376983/

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