0

Web サイトに「スクロール アップ」ボタンを配置しようとしていますが、何らかの理由で正しく機能しません。ボタンはページに表示されますが、何らかの理由でクリックしようとすると、サイトのフロント ページにリダイレクトされます。何が間違っているのかわかりません。

<script> 
$(function(){$.fn.scrollToTop=function(){$(this).hide().removeAttr("href");if($(window).scrollTop()>="100"){$(this).fadeIn("slow")}var scrollDiv=$(this);$(window).scroll(function(){if($(window).scrollTop()<="1000"){$(scrollDiv).fadeOut("slow")}else{$(scrollDiv).fadeIn("slow")}});$(this).click(function(){$("html, body").animate({scrollTop:0},"slow")})}}); 
$(function(){$("#toTo_button").scrollToTop();}); 
</script> 
<style> 
#toTo_button { width:70px;text-align:center;padding:5px;position:fixed;bottom:10px;right:12px;cursor:pointer;color:#666;text-decoration:none; } 
#ups a img { opacity:0.7; -moz-opacity:0.7; filter:alpha(opacity=70); } 
#ups a:hover img { opacity:1.0; -moz-opacity:1.0; filter:alpha(opacity=100); } 
</style> 
<div id="ups"> 
<a href="/" id="toTo_button"><img src="http://full4dl.ucoz.com/Support/ups.png" alt="" /></a> 
</div>
4

3 に答える 3

0

アンカータグのクリックイベントで使用するevent.preventDefault()と、サイトのホームページへのデフォルトのリダイレクトが停止します(あなたが書いたようにa href="/")。

これで問題は解決するはずです。

于 2016-02-22T10:46:40.493 に答える
0

<a href="/" ...確実にホームページにリダイレクトされるため、アンカーをクリックしたときのデフォルトのアクションを防止する必要があります。

$(function () {
    $.fn.scrollToTop = function () {
        $(this).hide().removeAttr("href");
        if ($(window).scrollTop() >= "100") {
            $(this).fadeIn("slow")
        }
        var scrollDiv = $(this);
        $(window).scroll(function () {
            if ($(window).scrollTop() <= "1000") {
                $(scrollDiv).fadeOut("slow")
            } else {
                $(scrollDiv).fadeIn("slow")
            }
        });
        $(this).click(function (e) {
            e.preventDefault();         // ding ding ding
            $("html, body").animate({
                scrollTop: 0
            }, "slow")
        })
    }
});
$(function () {
    $("#toTo_button").scrollToTop();
});
于 2013-07-17T14:08:06.510 に答える