javascript - 粘性标题的框阴影应仅在滚动时激活

标签 javascript header scroll css

<分区>

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

我在这个 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/

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

最佳答案

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

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

窗口的 scrollTop 属性会告诉你,如果你在顶部 ($(window).scrollTop() == 0) 或者不在,所以这是设置/取消设置标题框阴影的条件。

关于javascript - 粘性标题的框阴影应仅在滚动时激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12634256/

相关文章:

http - 为 Jboss 管理控制台 URL 配置 HTTP header

php - 当用户尝试登录系统时,我们可以避免浏览器的 "remember password"吗?

jquery - localScroll 并缓解滚动问题

javascript - 从 REACT.jsx 中的用户输入中获取数字的最后五位

javascript - JQuery.ajax() 加载空白 XML 文件,没有错误。

android - 管理 Android 应用程序 cookie

jquery - 滚动时出现问题 - 不会完全禁用滚动

javascript - 警告 Django 表单中的非 ASCII 字符

javascript - 为什么一个按钮会导致我的整个网页重新加载?

javascript - 获取动态元素的顶部位置,不涉及任何事件