2010-04-27 62 views
1

我的頁面上沒有默認的背景圖像CSS。在加載時,它被設置爲jQuery的初始圖像,等待10秒鐘,然後從一些預定圖像加載一個隨機圖像。有上一個和下一個按鈕可讓您循環瀏覽圖像。在ie6中加載初始圖像,然後在10秒後加載一張隨機圖像,但按prev/next會導致背景變白並且圖像不加載。有了警報,我能夠發現它仍然跟蹤它應該加載的圖像的位置和URL,但不會加載它。這是下面的代碼。在IE6中使用jquery不會改變背景圖像

<script type="text/javascript"> 
    var facts = new Array(); 
    var position; 
    $(document).ready(function() { 
     <xsl:for-each select="$currentPage/ancestor-or-self::node[@level=1]/../node[@nodeName='Fun Fact Folder']/node"> 
      facts[<xsl:value-of select="position()" />] = '<xsl:value-of select="." />'; 
     </xsl:for-each> 
     if(window.location.pathname == "/homepage.aspx" || window.location.pathname == "/") { 
      $(".fun_facts_bg").css("background-image", "url(images/fun_fact_homepage.JPG)"); 
      setTimeout("randomFact()",10000); 
     } else { 
      randomFact(); 
     } 
    }); 
    function randomFact() { 
     $("a.previous_button").css("display", "block"); 
     $("a.next_button").css("display", "block"); 
     position = Math.ceil(Math.random() * (facts.length - 1)); 
     changeFact(0); 
    } 
    function changeFact(increment) { 
     position = checkPosition(position, increment); 
     $(".fun_facts_bg").css("background-image", "url(" + facts[position] + ")"); 
    } 
    <xsl:text disable-output-escaping="yes">&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!-- 
    function checkPosition(currentPos, increment) { 
     currentPos = currentPos + increment; 
     if (currentPos &gt; facts.length - 1) { 
      currentPos = 1; 
     } else if (currentPos &lt; 1) { 
      currentPos = facts.length - 1; 
     } 
     return currentPos; 
    } 
    //--&gt;&lt;!]]&gt;</xsl:text> 
</script> 

<a class="previous_button" href="javascript:void(0);" onclick="changeFact(-1);"> 
<a class="next_button" href="javascript:void(0);" onclick="changeFact(1);"> 

回答

0

我敢肯定你應該在某處使用模數來確保你保持在預定的範圍內。這可能有幫助。