2012-01-21 45 views
0

Firefox似乎忽略了我程序中的一些JavaScript代碼。下面的代碼用於更改元素#navi li a的背景位置,並且您看到的for循環是更改圖像和文本的計時器的一部分;以及#navi(這是一個精靈)的背景位置。如果(j === count),則會出現問題。 Firefox識別出最初的backgroundPosition屬性,並將精靈設置爲-12像素,但當該元素不再處於活動狀態時。爲了更好地瞭解精靈是兩個圓圈中的11 x 24像素會發生什麼情況,0 0處的圓圈爲黃色或激活,0至12之間的圓圈爲白色或無效。 Firefox隨着定時器的變化將所有圓圈更改爲黃色,但當它們不再處於活動狀態時,不會將它們重置爲白色。 IE6和Safari的代碼按預期工作,Firefox目前是唯一有此問題的瀏覽器。Firefox忽略Javascript element.style.backgroundPosition

for (j=1;j<4;j++){ 

    if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ 
     var ieversion=new Number(RegExp.$1) 
     if (ieversion>=6){ 
      document.getElementById("navi"+j).style.backgroundPosition = "0 -12";      
      document.getElementById("image_description"+j).style.visibility = "hidden"; 
     } 
    } else if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ 
     var ffversion=new Number(RegExp.$1) 
     if (ffversion>=3){ 
      document.getElementById("navi"+j).style.backgroundPosition = "0 -12";      
      document.getElementById("image_description"+j).style.visibility = "hidden"; 
     } 
    } else { //Safari 
      document.getElementById("navi"+j).style.backgroundPosition = "bottom bottom";         
      document.getElementById("image_description"+j).style.visibility = "hidden";  
    } 

    if (j===count){ 

      if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)){ 
       var ieversion=new Number(RegExp.$1) 
       if (ieversion>=6){ 
        document.getElementById("navi"+j).style.backgroundPosition = "0 0";   
        document.getElementById("image_description"+j).style.visibility = "visible"; 
       } 
      } else if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ 
       var ffversion=new Number(RegExp.$1) 
       if (ffversion>=3){ 
        document.getElementById("navi"+j).style.backgroundPosition = "0 0";     
        document.getElementById("image_description"+j).style.visibility = "visible"; 
       } 
      } else { //Safari 
       document.getElementById("navi"+j).style.backgroundPosition = "top top";   
       document.getElementById("image_description"+j).style.visibility = "visible";     
      }    
     } 
    } 
+0

我們是在2012年,對不對? – Hello71

回答