2011-04-12 71 views
0

這裏是我當前的代碼:我可以修改此腳本以使用多個DIV標記嗎?

var text = ['foo', 'bar', 'baz']; 
    i = 0, 
    $div = $('#myDiv'); 

setInterval(function() 
{ 
    $div.fadeOut(function() 
    { 
     $div.text(text[i++ % text.length]).fadeIn(); 
    }); 
}, 1000); 

能有人告訴我如何使它與多個DIV標籤在同一頁上工作?現在它只適用於一個。

埃裏克

回答

0

這不是完全清楚你想要做什麼,但也許是這樣的:

//get all the div elements with the given classname 
divs = document.getElementsByClassName("myDivClassName"); 

//for each div, apply the update on a timer 
setInterval(function() { 
    for (var index = 0; index < divs.length; index++) { 
     var div = divs[index]; 
     div.fadeOut(function() { 
      div.text(text[i % text.length]).fadeIn(); 
     }); 
    } 
    i++; 
}, 1000); 
1

使用jQuery.each和/或選擇(我假設你使用jQuery?)

jQuery.each(收集,回調(indexInArray,valueOfElement)) http://api.jquery.com/jQuery.each/

泛型迭代器函數,可用於無縫遍歷對象和數組。具有長度屬性的數組和類似數組的對象(例如函數的參數對象)通過數字索引迭代,從0到length-1。其他對象通過它們的命名屬性進行迭代。

選擇器 http://api.jquery.com/category/selectors/

允許您選擇mathing特定jQuery選擇元素。您可以在jQuery選擇器文檔頁面上找到可能的選擇器列表。

+0

那裏做u到位了嗎? – Erik 2011-04-12 00:16:46

+0

我想你應該可以在你的例子中使用$(.myDivs).each($(this).fadeOut(...))。 – Jens 2011-04-12 00:19:15

+0

你能看看我的代碼嗎? myorphan.com/statistics.htm – Erik 2011-04-12 00:24:35

0
<script type="text/javascript"> 

    var text = ['foo', 'bar', 'baz']; 
    i = 0, 
    $divs = $('#DIV1, #DIV2');// or $('div.class1') for all divs 
          // with class='class1' 

    setInterval(function() 
    { 
     $divs.fadeOut(function(){ 
         $(this).text(text[i++ % text.length]).fadeIn(); 
        }); 
    }, 1000); 

</script> 
相關問題