2011-04-12 31 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> 
相关问题