我的回到顶部浮动按钮在IE和火狐下都能正常使用,但是在chrome下就不行,不显示请问怎么解决,我不会JS
这个是js代码functiongoTopEx(){varobj=document.getElementById("goTopBtn");functiongetScroll...
这个是js代码
function goTopEx(){
var obj=document.getElementById("goTopBtn");
function getScrollTop(){
return document.documentElement.scrollTop;
}
function setScrollTop(value){
document.documentElement.scrollTop=value;
}
window.onscroll=function(){getScrollTop()>0?obj.style.display="":obj.style.display="none";}
obj.onclick=function(){
var goTop=setInterval(scrollMove,10);
function scrollMove(){
setScrollTop(getScrollTop()/1.1);
if(getScrollTop()<1)clearInterval(goTop);
}
}
} 展开
function goTopEx(){
var obj=document.getElementById("goTopBtn");
function getScrollTop(){
return document.documentElement.scrollTop;
}
function setScrollTop(value){
document.documentElement.scrollTop=value;
}
window.onscroll=function(){getScrollTop()>0?obj.style.display="":obj.style.display="none";}
obj.onclick=function(){
var goTop=setInterval(scrollMove,10);
function scrollMove(){
setScrollTop(getScrollTop()/1.1);
if(getScrollTop()<1)clearInterval(goTop);
}
}
} 展开
展开全部
这个是chrome对document.documentElement.scrollTop的支持有点怪异导致的。
你可以把你的getScrollTop()和 setScrollTop()函数改为下面的:
function getScrollTop(){
return document.documentElement.scrollTop+document.body.scrollTop;
}
function setScrollTop(value){
if (!document.documentElement.scrollTop){
document.body.scrollTop = value;
}
else {
document.documentElement.scrollTop=value;
}
}
同时,你的外层的goTopEx函数的写法和调用办法不够好,我为了做测试,在外边加了闭包。
你看一下下面的完整代码:
(function goTopEx(){
var obj=document.getElementById("goTopBtn");
function getScrollTop(){
return document.documentElement.scrollTop+document.body.scrollTop;
}
function setScrollTop(value){
if (!document.documentElement.scrollTop){
document.body.scrollTop = value;
}
else {
document.documentElement.scrollTop=value;
}
}
window.onscroll=function(){
getScrollTop()>0?obj.style.display="":obj.style.display="none";
};
obj.onclick=function(){
var goTop=setInterval(scrollMove,10);
function scrollMove(){
setScrollTop(getScrollTop()/1.1);
if(getScrollTop()<1)clearInterval(goTop);
}
};
})(); 上面的完整代码,我本地测试已通过。
你可以把你的getScrollTop()和 setScrollTop()函数改为下面的:
function getScrollTop(){
return document.documentElement.scrollTop+document.body.scrollTop;
}
function setScrollTop(value){
if (!document.documentElement.scrollTop){
document.body.scrollTop = value;
}
else {
document.documentElement.scrollTop=value;
}
}
同时,你的外层的goTopEx函数的写法和调用办法不够好,我为了做测试,在外边加了闭包。
你看一下下面的完整代码:
(function goTopEx(){
var obj=document.getElementById("goTopBtn");
function getScrollTop(){
return document.documentElement.scrollTop+document.body.scrollTop;
}
function setScrollTop(value){
if (!document.documentElement.scrollTop){
document.body.scrollTop = value;
}
else {
document.documentElement.scrollTop=value;
}
}
window.onscroll=function(){
getScrollTop()>0?obj.style.display="":obj.style.display="none";
};
obj.onclick=function(){
var goTop=setInterval(scrollMove,10);
function scrollMove(){
setScrollTop(getScrollTop()/1.1);
if(getScrollTop()<1)clearInterval(goTop);
}
};
})(); 上面的完整代码,我本地测试已通过。
展开全部
您好!很高兴为您答疑!
尝试将getScrollTop()和 setScrollTop()改为:
function getScrollTop(){
return document.documentElement.scrollTop+document.body.scrollTop;
}
function setScrollTop(value){
if (!document.documentElement.scrollTop){ ...
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
尝试将getScrollTop()和 setScrollTop()改为:
function getScrollTop(){
return document.documentElement.scrollTop+document.body.scrollTop;
}
function setScrollTop(value){
if (!document.documentElement.scrollTop){ ...
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你如果不会,我也懒得改你的程序,你直接百度下:jquery插件 回到顶部
别折腾了,不是很熟悉的话,折腾出来bug还多
别折腾了,不是很熟悉的话,折腾出来bug还多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询