0

いくつかの要素の右上隅の現在の位置をチェックするコードがあります:

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の後も、常に呼び出されます。

4

2 に答える 2

1
 clearInterval('checkTabPos');

ここでは引用符を使用しないでください。それはどのように機能しますか?setInterval任意の文字列ではなく、によって返される識別子を渡す必要があります。

于 2012-12-31T00:53:56.810 に答える
1

変数で使用する必要があるときにclearInterval文字列を呼び出しています'checkTabPos'

function stopCheckTabPos() {
    debug('stopCheckTabPos invoked')
    clearInterval(checkTabPos);
}
于 2012-12-31T00:54:00.053 に答える