我需要创建一个横幅占位符,它需要与页面一起向上滚动,直到它到达浏览器的顶部边缘,然后它应该固定在顶部。当页面向下滚动时,横幅还需要再次滚动页面。我不确定我是否足够清楚,所以你可以在Watch Critic看到这个例子。你会注意到右栏中的横幅就像我描述的那样。
我没有使用JavaScript的经验,所以只能用HTML和CSS实现吗?
答案 0 :(得分:0)
活生生的例子:http://jsfiddle.net/KXXhQ/
您需要使用jQuery的scroll
事件,然后在标题中添加一个新类以修复它:
<强>的jQuery 强>
//by default, the static menu is hidden
var showStaticMenuBar = false;
//when scrolling...
$(window).scroll(function () {
//if the static menu is not yet visible...
if (showStaticMenuBar == false) {
//if I scroll more than 200px, I show it
if ($(window).scrollTop() >= 200) {
//showing the static menu
$('#header').addClass('fixed');
showStaticMenuBar = true;
}
}
//if the static menu is already visible...
else {
if ($(window).scrollTop() < 200) {
$('#header').removeClass('fixed');
//I define it as hidden
showStaticMenuBar = false;
}
}
});
<强> CSS 强>
#header{
display:block;
width: 100%;
height:50px;
background: #ddff00;
}
#header.fixed{
position:fixed;
top: 0; /*fixing it at the top*/
z-index: 999; /* over any other element*/
}
活生生的例子:http://jsfiddle.net/KXXhQ/
答案 1 :(得分:0)
This是如何在CSS中设置要修复的位置的。如果要实现更多行为,可以将它们定义为CSS类,当需要更改行为时,只需使用jQuery添加和删除类。