$(window).scroll(function(){
if ($(window).scrollTop()>50){
$("#go_top").fadeIn(500);
}else{
$("#go_top").fadeOut(500);
}
});
我把它改成原生代码
window.onscroll = function(){
var height = document.documentElement.scrollTop || document.body.scrollTop;
var go_top = document.getElementById("go_top");
if (height>50){
go_top.style.opacity = '1';
}else{
go_top.style.opacity = '0';
}
}
感觉哪里不对劲少了
把部分jQuery改成JavaScript
fadeIn和fadeOut没实现?
参考GPT和自己的思路:
您的原生代码已经实现了jQuery的功能。然而,当您使用opacity
属性时,元素仍然占据空间。这意味着即使元素不可见,它仍然会保留在文档流中。如果您希望在元素不可见时将其从文档流中删除,您可以使用display
属性来代替opacity
。例如,将go_top.style.opacity = '0';
更改为go_top.style.display = 'none';
。
var go_top = document.getElementById("go_top")
看看这里获取到了没有