gpt4 book ai didi

javascript - jQueryclearInterval 不工作

转载 作者:行者123 更新时间:2023-12-02 20:13:47 25 4
gpt4 key购买 nike

我有以下悬停功能

function tt_attachToBase(){
jQuery.each(bases,
function(index,base){

jQuery(base).hover(function() {
jQuery(base).showTipTimer = setInterval( function(){tt_locateBase(base);} , 3000 );
},
function() {
clearInterval(jQuery(base).showTipTimer);
tt_hideTip();
}

});
}

);

在 tt_locateBase() 内部我也像这样清除间隔

tt_locateBase(base){
clearInterval(jQuery(base).showTipTimer);
//code to sidplay tooltip
}

工具提示确实会在一段时间间隔后显示,但由于工具提示不断在基础上重复出现,因此该时间间隔似乎永远不会被清除。我究竟做错了什么?

最佳答案

将属性设置为 jQuery(base) 的返回值只会影响该特定对象。如果您第二次获取jQuery(base),它将不会携带该属性。

您当前所做的相当于下面的代码:

function return_something() {
return ['foo', 'bar'];
}

var first_fetch = return_something();
// => ['foo', 'bar']
first_fetch.push('baz'); // => ['foo', 'bar', 'baz']

var second_fetch = return_something(); // => ['foo, 'bar']

解决方案

将其附加为 a data field相反,也许?这样,它将影响 DOM 中的实际对象,并且 jQuery 对象将在后续提取中携带该数据值。

jQuery(base).data('showTipTimer', 
setInterval(function(){tt_locateBase(base);} , 3000));

然后清除:

clearInterval(jQuery(base).data('showTipTimer'));

关于javascript - jQueryclearInterval 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6614072/

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