我有检查某些元素右上角当前位置的代码:
function checkContentPos(e) {
var positionLeft = 0,
checkTabPos = null,
pos;
e = $(e).filter('li');
alert($(e).attr('class'));
//alert($(e).attr('class'));
checkTabPos = setInterval(
function () {
ii++;
debug(ii);
pos = $(e).offset();
pos['left'] += parseInt($(e).css('width'));
positionLeft = pos.left;
debug(positionLeft);
}, 40);
function stopCheckTabPos() {
debug('stopCheckTabPos invoked')
clearInterval('checkTabPos');
}
setTimeout(stopCheckTabPos, 400);
return(positionLeft);
};
但是我看起来像是循环到了即时性。 setTimeout之后,它仍然不断被调用。
最佳答案
clearInterval('checkTabPos');
不要在这里使用引号。那怎么会工作呢?您需要传入
setInterval
返回的标识符,而不是一些任意字符串。