0

単純なリンク スクローラーを作成しようとしていますが、現在の位置を特定するのに問題が発生します。

基本的に、私のコードでは、関数の外で currentPos 変数を初期化しました。次に、それに 1 を追加してみますが、動作が不安定になります。時々 NaN を取得します。

これはローカルホストの xampp インストール上にあります。同じコードが jsfiddle で正常に動作するため、理解できません。

jsfiddle: http://jsfiddle.net/w654X/

私のコードは以下のとおりです。どんな助けでも大歓迎です。

var currentPos = 1;

$('#test').click(function() {
    // exit if animation is already playing
    if ($(':animated').length) {
        return false;
    }

    height = $('#inner').height();
    noOfLinks = height / 53;
    lastPos = noOfLinks - 4;

    alert(currentPos);

    if (currentPos != lastPos) {
        $('#inner').animate({
            marginTop: "-=106px"
        });
    } 
    else {
        $('.arrow-up').hide();
    }

    currentPos += 1;
});
4

2 に答える 2

0

以下のコードをお試しください

$(document).ready(function(){
var currentPos = 1;
$('#test').click(function() {

// exit if animation is already playing
    if ($(':animated').length) {
        return false;
    }

height = $('#inner').height();
noOfLinks = height / 53;
lastPos = noOfLinks - 4;

alert(currentPos);

if (currentPos != lastPos) {
    $('#inner').animate({
        marginTop: "-=106px"
    });
} else {
    $('.arrow-up').hide();
}

currentPos += 1;

});
});

読み込み中のスクリプトまたはドキュメントの準備ができている場所を教えてください。

ありがとう

于 2012-12-05T10:28:50.250 に答える
0

ええと、これはあまりにも長い間私を夢中にさせてきましたが、別のスクリプトで変数名「方向」を既に使用していたことが判明しました。異なる名前を使用しましたが、すべて問題ありません。

于 2012-12-05T15:23:18.050 に答える