0

シンプルな js アニメーションで非表示になるスライド パネルを作成しようとしていました。ここに開発中のリンクがあります: http://carportal.webpronto.it 「パネルを非表示」をクリックするだけで、検索タブが左に移動します。

問題は次のとおりです: パネルが左の位置に達したときに停止するように値を指定しようとしました: -25% しかし、パネルは無限に対して愚かな実行を続けます。ここで私が使用したスクリプト:

<script type="text/javascript">
    var scrollSpeed = 50;
    var step = 1;
    var current = 0;
    var endposition = 25;   
    function closeBAR(){
        current -= step;  
        if (current == endposition){


            stop;

        }



        $('#colleft').css("left",current+"%"); 



    var init = setInterval("closeBAR()", scrollSpeed);

}
</script>

スクリプトの何が問題になっていますか?

4

3 に答える 3

1

回線を交換する

stop;

clearInterval(init);

また、endposition は負でなければなりません。

var endposition = -25;

代わりに、 Slideなどの jQuery UI 効果を使用することを検討してください。これにより、コードが読みやすくなります。

于 2012-10-08T18:26:07.200 に答える
1

電流を減らしているので、0 から始まるため、最終的には負の数値になります。-25 は 25 と同じではないため、「停止」テストは失敗します

于 2012-10-08T18:26:12.370 に答える
0

コードを「ドライ」に見ると、少なくとも次の問題が発生する可能性があります。グローバル変数は、最初に値 -1 で初期化されているため、(0 - 1)currentの値に到達しません。endpositioncurrent -= step == -1

于 2012-10-08T18:32:33.923 に答える