3

我正在尝试实现一个“返回顶部”链接,一旦用户向下滚动页面一定量,该链接就会淡入我的页面。

我注意到在我的一些页面上,“返回顶部”链接会在隐藏之前在页面上闪烁,但在其他页面上不会。为了追查“链接闪烁”的原因,我创建了一个 JS fiddle 供您查看我的编码,并希望找到导致不一致的原因。JS 小提琴本身似乎工作正常,但这可能只是因为它在小提琴中。是否可以添加一行代码以确保链接在加载时隐藏?

感谢您花时间看这个。非常感谢。

http://jsfiddle.net/uLUWV/

HTML

<div class="container">
Test Content
</div>    
<p id="back-top"><a href="#top"><span>Go To Top</span></a></p>

CSS

#back-top {position: fixed; display:none; bottom:10px; left:10px; width:83px;}
#back-top a {width: 83px; display: block;}
#back-top span {width: 83px; height: 94px; display: block; background-color:red;}

.container {height:4000px;}

jQuery

$(document).ready(function(){

    // hide #back-top first
    $("#back-top").hide();

    // fade in #back-top
    $(function () {
        $(window).scroll(function () {
            if ($(this).scrollTop() > 500) {
                $('#back-top').fadeIn();
            } else {
                $('#back-top').fadeOut();
            }
        });

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

});
4

2 回答 2

3

发现了你的问题。

您需要放入您的 CSS #back-top{display : none}

一个在那里,但它被您的媒体查询覆盖。您只需要一个更具体的选择器来显示。

添加这一行skin.css,它应该纠正错误:

p#back-top{display : none}

检查您的媒体查询是否仍然有效。如果不是,您的查询也必须更具体。

现在,您的按钮被隐藏.hide()。因此,一旦您可以通过 CSS 隐藏按钮,您就可以删除此行。

于 2013-06-05T17:27:40.480 回答
1

我测试了下面的代码,它没有问题

   <!doctype html>
    <html> 
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {

                // hide #back-top first
                $("#back-top").hide();

                // fade in #back-top
                $(function () {
                    $(window).scroll(function () {
                        if ($(this).scrollTop() > 500) {
                            $('#back-top').fadeIn();
                        } else {
                            $('#back-top').fadeOut();
                        }
                    });

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

            });
    </script>
    <style type="text/css">
        #back-top {position: fixed; display:none; bottom:10px; left:10px; width:83px;}
    #back-top span {width: 83px; height: 94px; display: block; background-color:red;}

    .container {height:4000px;}

#back-top a {width: 83px; display: block;color: white;}
#back-top a:active {
color: white;
}
    </style>
    </head>
    <body>
    <div class="container">
    Test Content
    </div>    
    <p id="back-top"><a href="#top"><span>Go To Top</span></a></p>
    </body>
    </html>

此代码在您的浏览器中有效吗?

于 2013-06-05T17:15:47.230 回答