jQuery淡出“回到顶部”链接。页面加载链接可见性

时间:2013-06-05 17:00:24

标签: javascript jquery css scrolltop

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

我注意到在我的某些页面上,“返回顶部”链接会在隐藏自身之前在页面上闪烁,但不会在其他页面上闪烁。为了追查“链接闪存”的原因,我创建了一个JS小提琴,供您查看我的编码,并希望找到导致不一致的原因。 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;
        });
    });

});

2 个答案:

答案 0 :(得分:3)

发现了你的问题。

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

一个就在那里,但是你的媒体查询已经超越了它。您只需要为显示器提供更具体的选择器。

skin.css中添加此行,它应该更正错误:

p#back-top{display : none}

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

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

答案 1 :(得分: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>

此代码适用于您的浏览器?