DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 網頁的兼容問題:解決JS兼容IE不兼容其它浏覽器
網頁的兼容問題:解決JS兼容IE不兼容其它浏覽器
編輯:關於JavaScript     

今天,老大要我處理一個網站的兼容問題,一般兼容性問題是兼容其他浏覽器,就IE不兼容,而這個有點特殊,只兼容IE,不兼容其他浏覽器。初步觀察以後,我發現是Javacript的問題。而不關div和css什麼事情。

這是原來的代碼:

<SCRIPT language=JavaScript>
marqueesHeight=550;
stopscroll=false;

with(flash){
style.width=235;
style.height=marqueesHeight;
style.overflowX=”visible”;
style.overflowY=”hidden”;
noWrap=true;
onmouseover=new Function(“stopscroll=true”);
onmouseout=new Function(“stopscroll=false”);
}
document.write(‘<div id=”templayer1″ style=”position:absolute;z-index:1;visibility:hidden;top:6px;”></div>’);

preTop=0; currentTop=0;

function init1(){
templayer1.innerHTML=”";
while(templayer1.offsetHeight<marqueesHeight){
templayer1.innerHTML+=flash.innerHTML;
}
flash.innerHTML=templayer1.innerHTML+templayer1.innerHTML;
setInterval(“scrollUp1()”,20);//?
}
document.body.onload=init1;

function scrollUp1(){
if(stopscroll==true) return;
preTop=flash.scrollTop;
flash.scrollTop+=1;
if(preTop==flash.scrollTop){
flash.scrollTop=templayer1.offsetHeight-marqueesHeight;
flash.scrollTop+=1;
}
}
</SCRIPT>

這其實就是很普通的輪播。而造成不兼容的問題就是因為代碼寫的不完善,下面我給出我的解決方案:

<SCRIPT language=JavaScript>
marqueesHeight=550;
stopscroll=false;
var marquees=document.getElementById(“flash”);
var templayer=document.getElementById(“templayer1″);
with(flash){
flash.style.width=235+”px”;
flash.style.height=marqueesHeight+”px”;
flash.style.overflowX=”visible”;
flash.style.overflowY=”hidden”;
flash.noWrap=true;
flash.onmouseover=new Function(“stopscroll=true”);
flash.onmouseout=new Function(“stopscroll=false”);
}
document.write(‘<div id=”templayer1″ style=”position:absolute;z-index:1;visibility:hidden;top:6px;”></div>’);
var preTop=0; currentTop=0;
function init1(){
templayer1.innerHTML=”";
while(templayer1.offsetHeight<marqueesHeight){
templayer1.innerHTML+=flash.innerHTML;
}
flash.innerHTML=templayer1.innerHTML+templayer1.innerHTML;
setInterval(“scrollUp1()”,10);//?
}
window.onload=init1;
function scrollUp1(){
if(stopscroll==true) return;
preTop=flash.scrollTop;
flash.scrollTop+=1;
if(preTop==flash.scrollTop){
flash.scrollTop=templayer1.offsetHeight-marqueesHeight;
flash.scrollTop+=1;
}
}
</SCRIPT>

將代碼寫完善,不僅僅會更兼容,也會更好看,我們寫程序,千萬不要貪圖一時的快速,我們要寫出好程序,千萬不能出現如上的問題。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved