- 關於右下角跟隨懸浮框疑問,下列的js代碼為什麼在IE中有效果而FF中沒有?該怎樣解決?
-
window.onscroll=function(){
var oDiv=document.getElementById('div1');
var scrollTop=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
//oDiv.style.top=document.documentElement.clientHeight-oDiv.offsetHeight+scrollTop+'px';
startMove(document.documentElement.clientHeight-oDiv.offsetHeight+scrollTop);
};
var timer=null;
function startMove(iTarget){
var oDiv=document.getElementById('div1');
clearInterval(timer);
timer=setInterval(function(){
var speed=(iTarget-oDiv.offsetTop)/10;
speed=speed>0?Math.ceil(speed):Math.floor(speed);
if(iTarget==oDiv.offsetTop)
{clearInterval(timer);}else{
oDiv.style.top=oDiv.offsetTop+speed+'px'
}},30);
};
是不是因為window.onscroll的兼容性問題?該如何解決?請大神幫忙指點指點
最佳回答:
可能是clientHeight的跨浏覽器兼容性問題,參考JavaScript Window - 浏覽器對象模型
我做了個在線演示,你可以點擊查看是否在不同的浏覽器上都實現你的需求。我在IE11, Chrome 34和Ubuntu的FirFox34都測試過可以。