Javascript 如何在页面顶部粘贴div
我只想把div贴在页面的顶部 如果有人滚动页面,则绿色div stickdiv应自动粘贴在顶部Javascript 如何在页面顶部粘贴div,javascript,html,css,Javascript,Html,Css,我只想把div贴在页面的顶部 如果有人滚动页面,则绿色div stickdiv应自动粘贴在顶部 var left = document.getElementsByClassName("stickdiv"); for( var i = 0;i<left.length;i++){ var stop = (left[0].offsetTop); window.onscroll = function (e) { var scrollTop = (window.pageYOffset !== u
var left = document.getElementsByClassName("stickdiv");
for( var i = 0;i<left.length;i++){
var stop = (left[0].offsetTop);
window.onscroll = function (e) {
var scrollTop = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
if (scrollTop >= stop) {
left.className += " stick"; //adding a class name
} else {
className = '';
}
}
}
为什么在div上添加stick类不起作用-
我只想把div像黄色的div一样放在上面-您已经循环到了左侧项目的数组中,但是在尝试将类名添加到元素时忘记了引用数组索引 var left=document.getElementsByClassNamestickdiv; 对于var i=0;i
您已循环到左侧项的数组中,但在尝试将类名添加到元素时忘记引用数组索引 var left=document.getElementsByClassNamestickdiv; 对于var i=0;i
根据您需要支持的浏览器,您不一定需要JS
.sticky {
position: sticky;
left: 0;
top: 0;
width: 100%;
}
代码笔:
浏览器对position sticky的支持:根据需要支持的浏览器,不一定需要JS
.sticky {
position: sticky;
left: 0;
top: 0;
width: 100%;
}
代码笔:
浏览器对position sticky的支持:@未来的用户不必离开网站去查看一个工作示例,这对他们很有好处。这就是为什么我将您的JSFIDLE转换为一个堆栈片段。我想指出的是,对于OP来说,for循环是没有必要的。@hungerstar同意。键入注释时添加的代码段=我不知道如何帮助未来的游客。如果JSFIDLE崩溃或失效,您仍然有一个带有堆栈片段的工作示例。堆栈片段清晰地将HTML、CSS和JS划分为自己的区域,以确保可读性。如果有什么问题,请指出主要的更改,并在后面添加一个折叠的堆栈片段。@Anjali如果这个答案解决了您的问题,请务必接受答案=@似乎未来的用户不必离开网站去看一个有效的例子会受益匪浅。这就是为什么我将您的JSFIDLE转换为一个堆栈片段。我想指出的是,对于OP来说,for循环是没有必要的。@hungerstar同意。键入注释时添加的代码段=我不知道如何帮助未来的游客。如果JSFIDLE崩溃或失效,您仍然有一个带有堆栈片段的工作示例。堆栈片段清晰地将HTML、CSS和JS划分为自己的区域,以确保可读性。如果有什么问题,请指出主要的更改,并在后面添加一个折叠的堆栈片段。@Anjali如果这个答案解决了您的问题,请务必接受答案=