【问题标题】:Box shadow for sticky header should activate only on scroll [duplicate]粘性标题的框阴影应仅在滚动时激活[重复]
【发布时间】:2012-09-28 05:47:37
【问题描述】:

我有一个粘性标题,下面有一个框阴影。我希望只有当用户向下滚动时才会出现框阴影。此外,一旦用户滚动回页面顶部,阴影也会消失。

我在这个jsfiddle看到了类似的解决方案:

var header = $('.header');

$(window).scroll(function(e){
    if(header.offset().top !== 0){
        if(!header.hasClass('shadow')){
            header.addClass('shadow');
        }
    }else{
        header.removeClass('shadow');
    }
});

css:

.header {
    font-size:24px; 
    width:100%;
    height:60px; 
    background:white; 
    position:fixed
}

.header.shadow {
    box-shadow:0px 5px 5px rgba(0,0,0,.5);
}

body {
    height:1000px; 
    background: rgb(169,3,41); 

    /* Old browsers */
    background: -moz-linear-gradient(top, rgba(169,3,41,1) 0%, rgba(143,2,34,1) 44%, rgba(109,0,25,1) 100%); 

    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(169,3,41,1)), color-stop(44%,rgba(143,2,34,1)), color-stop(100%,rgba(109,0,25,1))); 

    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); 

    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); 
    
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); 

    /* IE10+ */
    background: linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); 

    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a90329', endColorstr='#6d0019',GradientType=0 ); /* IE6-9 */
}

然后在这里实现:http://www.provisiontree.co.in/

有谁知道如何让盒子阴影出现在示例网站中的淡入效果中?

【问题讨论】:

    标签: javascript header scroll css


    【解决方案1】:

    你需要捕捉窗口的scroll事件。

    您可以在此处查看使用 jQuery 的小提琴:http://jsfiddle.net/DQv33/

    窗口的scrollTop 属性会显示你是否在顶部($(window).scrollTop() == 0),所以这是设置/取消设置标题的框阴影的条件。

    【讨论】:

    • 谢谢马克。这行得通。但是我花了很长时间才让它工作,因为我是从 jsFiddle 复制你的代码,它似乎在脚本的末尾添加了一个额外的字符,这会引发错误。这是一个已知问题,已在此处讨论:stackoverflow.com/questions/5733275/… :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 2011-06-01
    • 1970-01-01
    • 2021-07-03
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多