1

非表示の div を持つ 3 つのボタンがあります。1 つをクリックするとコンテンツが一番下までスクロールし、別のボタンをクリックするとページはそのままの状態で新しいコンテンツをロードします。

変数とifステートメントを試しました

var i=0;
$('#link-slide13').click(function(){
        if (i==0){//nothing's been scrolled
            $("html").animate({ scrollTop: $(document).height() }, "slow");
            i=1;

        }else{
            //don't do anything
        }
});

何か案は?答えてくれてありがとう!

編集:申し訳ありませんが、私は自分自身を説明したとは思いません .しかし、私はこれが一度だけ発生し、次の 5 回のクリックでアニメーションが表示されないようにしたいと考えています。

4

3 に答える 3

7

$(html) の代わりに $(body) を使用してください

デモ http://jsfiddle.net/APebY/

$(function(){
var i=0;
$('#link-slide13').click(function(){
        if (i==0){//nothing's been scrolled
            $("body").animate({ scrollTop: $(document).height() }, "slow");
            i=1;

        }else{
            //don't do anything
        }
});
});

イベントトリガー内で unbind を使用して、一度だけ実行することもできます

$('#link-slide13').click(function(){

            $("body").animate({ scrollTop: $(document).height() }, "slow");

            $(this).unbind("click");
});
于 2011-03-24T10:25:22.873 に答える
1

あなたが何をしようとしているのか正確にはわかりません。これが役立つはずです。

$('#link-slide13').toggle(function(){
    $("html").animate({ scrollTop: $(document).height() }, "slow");
},function(){
    //don't do anything
})

幸運を

于 2011-03-24T10:10:03.627 に答える
0

あなたのhtmlを見ることができませんが、あなたは1つのボタンにのみ機能を適用したと思いますwitch id="link-slide13"。3つのボタンで機能する必要がある場合は、JQueryセレクターを変更します。(すべてのボタンにクラスを追加すると、$( "。className")で簡単にすべてを選択できます)。

では、ボタンとは何ですか?リンク入力?ボタンがリンクの場合

<a href="#">

関数の最後に「returnfalse」文を追加できます。これにより、リンクがデフォルトとして機能し、ナビゲーターがドキュメントの先頭に移動するのを防ぎます。

しかし、本当に...問題は何ですか?

于 2011-03-24T10:13:05.850 に答える