1

ページが一番下にあるときにフェードアウトするjQueryを使用して、一番下のボタンへのアニメーションスクロールを作成しようとしています。インターネットでこのコードを見つけて修正しましたが、機能しませんでした。

 <script>
    //to bottom
    $(document).ready(function(){

        // hide #back-top first

        $("#back-bottom").show();

        // fade in #back-top
        $(function () {
            $(window).scroll(function () {
                if ($(this).scrollTop()  1) {
                    $('#back-bottom').hide();
                } else {
                    $('#back-bottom').show();
                }
            });

            // scroll body to 0px on click
            $('#back-bottom a').click(function () {
                $('body,html').animate({ scrollTop: 0 }, 800);
                return false;
            });
        });

    });
    </script>
4

3 に答える 3

5

体の高さを計算し、それをアニメーションの scrollTop パラメータに渡す必要があると思います

$('body,html').animate({ scrollTop: $('body').height() }, 800);

[動作デモはこちら]// リンクが機能しなくなった

于 2012-09-08T04:40:01.117 に答える
5
$('#back-bottom a').click(function () {
                $('body,html').animate({ scrollTop: $('body').height() }, 500);
                return false;
            });

私はそれがあなたのために働くと思います

于 2012-09-08T04:47:06.523 に答える
0

動作するフィドルの例を作成しました。

http://jsfiddle.net/z5JNc/

ボタンを非表示にする条件を次のように変更しました。if($(window).scrollTop() + $(window).height() == $(document).height())

上にスクロールして戻るには、本体の高さを取得する変数を追加しました。 var $elem = $('body') 次に、リンクをクリックしたときに、値を次のように変更しました。 scrollTop: $elem.height()

于 2012-09-08T04:52:29.487 に答える