0

そのため、jQuery animate を使用して、ワードプレスのテーマで「スクロールして一番上」ボタンを作成しようとしています。私はこれに数時間運がありませんでした。JS のスニペットは次のとおりです。

 < script type = "text/javascript" > (function ($) {
        $(document).ready(function () {
            $("#back-top").hide();
            $(function () {
                $(window).scroll(function () {
                    if ($(this).scrollTop() > 100) {
                        $('#back-top').fadeIn();
                    } else {
                        $('#back-top').fadeOut();
                    }
                });
                $('#back-top a').click(function () {
                    $('body,html').animate({
                        scrollTop : 0
                    }, 800);
                    return false;
                });
            });
        });
    });
(jQuery);
<  / script >

ここに私のマークアップがあります:

<p id="back-top"><a href="#top">&uarr;</a></p>

jQuery やその他のジャンクは、前述の JS コードの数行前に呼び出されることに注意してください。

<script type='text/javascript' src='http://tambnguyen.com/wp-includes/js/prototype.js?ver=1.6.1'></script>
<script type='text/javascript' src='http://tambnguyen.com/wp-includes/js/scriptaculous/wp-scriptaculous.js?ver=1.8.3'></script>
<script type='text/javascript' src='http://tambnguyen.com/wp-includes/js/scriptaculous/effects.js?ver=1.8.3'></script>
<script type='text/javascript' src='http://tambnguyen.com/wp-includes/js/jquery/jquery.js?ver=1.7.1'></script>

私が間違っていることを教えてください。ありがとう!

4

2 に答える 2

1

甘い!他の場所からの他のいくつかのスニペットをリバース エンジニアリングすることができました。それは今動作します。

 <script type="text/javascript"> jQuery(function () {
        jQuery(document).ready(function () {
            jQuery("#back-top").hide();
            jQuery(function () {
                jQuery(window).scroll(function () {
                    if (jQuery(this).scrollTop() > 100) {
                        jQuery('#back-top').fadeIn();
                    } else {
                        jQuery('#back-top').fadeOut();
                    }
                });
                jQuery('#back-top a').click(function () {
                    jQuery('body,html').animate({
                        scrollTop : 0
                    }, 800);
                    return false;
                });
            });
        });
    });
</script>

とにかく助けてくれてありがとう:)

于 2012-05-01T08:04:34.367 に答える
0

event.preventDefaultを使用する

jQuery('#back-top').click(function() {
    jQuery('html,body').animate({
        scrollTop: 0
    }, 800);
    return false;
});​
于 2012-05-01T07:29:32.993 に答える