0

在我的 html 中,我有很多 div 元素。我想按顺序显示 div。现在我正在使用这段代码:

HTML:

<div id="text">
    <img src="images/text.png" />
</div>
<div id="tv" style="display:none;">
    <img src="images/tv.png" />
</div>
<div id="mobile" style="display:none;">
    <img src="images/mcu.png" />
</div>
<div id="remote" style="display:none;">
    <img src="images/rcu.png" />
</div>

Javascipt:

$(document).ready(function () {
    setTimeout(function () {
        $("#tv").show();
    }, 3000);
    setTimeout(function () {
        $("#mobile").fadeIn(500);
    }, 4500);
    setTimeout(function () {

        $("#remote").show();
    }, 5500);

});

这段代码运行良好。在这里我有 4 个 div,所以我可以手动更改时间。但我需要的是,创建 50 个这样的 div,我需要按顺序显示。如果我对这 50 个 div 使用这个 setTimeout 意味着这将非常困难。

除了这个概念之外,还有什么方法可以按顺序显示 div。任何人都可以在这方面帮助我。

提前致谢。

4

4 回答 4

3

一种选择是创建一个设置超时的循环:

<div id="text" class="fadein">
    <img src="images/text.png" />
</div>
<div id="tv" class="fadein" style="display:none;">
    <img src="images/tv.png" />
</div>
<div id="mobile" class="fadein" style="display:none;">
    <img src="images/mcu.png" />
</div>
<div id="remote" class="fadein" style="display:none;">
    <img src="images/rcu.png" />
</div>

<script type="text/javascript">
    $('.fadein').each(function(index, elem) {
        setTimeout(function () {
            $(elem).fadeIn(500);
        }, index * 500);
    });
</script>
于 2013-04-12T06:09:59.060 回答
2

处理超时值的一种方法是通过data-time(任意名称)属性。

可能的 HTML:

<div id="images">
  <div id="text" data-time="500">
      <img src="http://dummyimage.com/600x400/000/fff" />
  </div>
  <div id="tv" data-time="1000" style="display:none;">
      <img src="http://dummyimage.com/600x400/000/aaa" />
  </div>
  <div id="mobile" data-time="250" style="display:none;">
      <img src="http://dummyimage.com/600x400/000/333" />
  </div>
  <div id="remote" data-time="750" style="display:none;">
      <img src="http://dummyimage.com/600x400/000/111" />
  </div>
</div>

可能的脚本:

$('#images').children().each(function(index, elem) {
  setTimeout(function () {
    $(elem).fadeIn($(this).attr('data-time'));
  }, $(this).attr('data-time'));
});
于 2013-04-12T06:15:56.203 回答
1

一个 setInterval 会起作用。

<div id="tv" class="ImageContainer" style="display:none;">
    <img src="images/tv.png" />
</div>
<div id="mobile" class="ImageContainer" style="display:none;">
    <img src="images/mcu.png" />
</div>
<div id="remote" class="ImageContainer" style="display:none;">
    <img src="images/rcu.png" />
</div>

$(document).ready(function () {
    var arrImageContainer = $(".ImageContainer");
    var nIndex = 0;
    var iInterval = setInterval(function () {
        if(nIndex == arrImageContainer.length)
        {
            clearInterval(iInterval);
        }
        $(arrImageContainer[nIndex]).fadeIn(500);
        nIndex++;
    }, 1500);
});
于 2013-04-12T06:12:24.703 回答
0
<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"</script>
        <script>
            var a=1;
            function slide1(){
                setInterval(function(){
                    $(".slide").css("display","none");
                    $("#d"+a).fadeIn(500);
                    a=a+1;
                    if(a==51)
                        a=1;
                },1000);
            }
        </script>
    </head>
    <body >
        <div style="display:none" class="slide" id="d1">1</div>
        <div style="display:none" class="slide" id="d2">2</div>
        <div style="display:none" class="slide" id="d3">3</div>
        <div style="display:none" class="slide"  id="d4">4</div>
        <div style="display:none" class="slide"  id="d5">5</div>
        <div style="display:none" class="slide"  id="d6">6</div>
        <div style="display:none" class="slide"  id="d7">7</div>
        <div style="display:none" class="slide"  id="d8">8</div>
        <div style="display:none" class="slide"  id="d9">9</div>
        <div style="display:none" class="slide"  id="d10">10</div>

        <div style="display:none" class="slide"  id="d11">11</div>
        <div style="display:none" class="slide"  id="d12">12</div>
        <div style="display:none" class="slide"  id="d13">13</div>
        <div style="display:none" class="slide"  id="d14">14</div>
        <div style="display:none" class="slide"  id="d15">15</div>
        <div style="display:none" class="slide"  id="d16">16</div>
        <div style="display:none" class="slide"  id="d17">17</div>
        <div style="display:none" class="slide"  id="d18">18</div>
        <div style="display:none" class="slide"  id="d19">19</div>
        <div style="display:none" class="slide"  id="d20">20</div>

        <div style="display:none" class="slide"  id="d21">21</div>
        <div style="display:none" class="slide"  id="d22">22</div>
        <div style="display:none" class="slide"  id="d23">23</div>
        <div style="display:none" class="slide"  id="d24">24</div>
        <div style="display:none" class="slide"  id="d25">25</div>
        <div style="display:none" class="slide"  id="d26">26</div>
        <div style="display:none" class="slide"  id="d27">27</div>
        <div style="display:none" class="slide"  id="d28">28</div>
        <div style="display:none" class="slide"  id="d29">29</div>
        <div style="display:none" class="slide"  id="d30">30</div>

        <div style="display:none" class="slide"  id="d31">31</div>
        <div style="display:none" class="slide"  id="d32">32</div>
        <div style="display:none" class="slide"  id="d33">33</div>
        <div style="display:none" class="slide"  id="d34">34</div>
        <div style="display:none" class="slide"  id="d35">35</div>
        <div style="display:none" class="slide"  id="d36">36</div>
        <div style="display:none" class="slide"  id="d37">37</div>
        <div style="display:none" class="slide"  id="d38">38</div>
        <div style="display:none" class="slide"  id="d39">39</div>
        <div style="display:none" class="slide"  id="d40">40</div>

        <div style="display:none" class="slide"  id="d41">41</div>
        <div style="display:none" class="slide"  id="d42">42</div>
        <div style="display:none" class="slide"  id="d43">43</div>
        <div style="display:none" class="slide"  id="d44">44</div>
        <div style="display:none" class="slide"  id="d45">45</div>
        <div style="display:none" class="slide"  id="d46">46</div>
        <div style="display:none" class="slide"  id="d47">47</div>
        <div style="display:none" class="slide"  id="d48">48</div>
        <div style="display:none" class="slide"  id="d49">49</div>
        <div style="display:none" class="slide"  id="d50">50</div>

        <input type="button" onclick="slide1()" value="click me">
    </body>
</html> 
于 2013-04-12T06:36:39.743 回答