2012-05-15 35 views
0

有人能指出爲什麼這個腳本只適用於firefox而不適用於任何其他瀏覽器? Chrome的控制檯顯示沒有任何問題。相同的Firefox的。 有什麼建議嗎? 在此先感謝!jquery css背景圖片僅適用於firefox

jQuery.noConflict(); 
jQuery(document).ready(function(){ 

function wrapr(){ 
    var min=1; 
    var max=5; 
    var bd = jQuery('body.home'); 

    function bg(){ 

     if(min < max){ 

      bd.css('background-image','url(http://sitename/templates/rt_gantry/images/body/'+min+'.jpg'); 
      min++; 
     } 
     else if(min = max){ 
     min=1; 
     } 
    } 
    setInterval(bg,9000); 
} 
wrapr(); 
}); 
+0

它可能會幫助在jsfiddle.net中設置它的問題 –

+0

你有沒有試過將'bd'設置爲'jQuery('body')'?你只能有一個'body'元素,所以根據類選擇是不必要的,而這可能會導致瀏覽器不期望它。另外,僅供參考,您的代碼將顯示最後一個圖像的兩倍長度。 –

+0

Did not know that about body.Thanks!刪除班級還沒有解決任何問題。是的,我知道它顯示了最後一張圖片兩次,我打算稍後修復:D – Alx

回答

1

你似乎缺少一個 ')':

bd.css('background-image','url(http://sitename/templates/rt_gantry/images/body/'+min+'.jpg)'); 

Addtionally:這可能是值得的可讀性拿出你的函數定義:

<script> 
    jQuery.noConflict(); 

    function wrapr(){ 
     var min = 1; 
     var max = 5; 
     var bd = jQuery('body.home'); 

     setInterval(function(){ 
      if(min < max){ 
      bd.css('background-image','url(http://sitename/templates/rt_gantry/images/body/'+min+'.jpg'); 
      min++; 
      } else { 
      current = min; 
      } 
     }, 1000); 
    } 

    jQuery(document).ready(function(){ 
     wrapr(); 
    }); 
    </script> 
+0

該死的做到了,我再次錯過了obvius ..! – Alx

1

這部分不好:

else if(min = max){ 
    min=1; 
} 

使用單個等號在分配最大到最小結果。你必須使用兩個來檢查平等。

else if(min == max){ 
    min=1; 
} 
+0

修好了,謝謝!還是不行的 – Alx