更容易做到以下几点

时间:2012-03-05 14:32:55

标签: javascript jquery

我制作了一个脚本,幻灯片上的一些客户报价。见下面的代码

<script>

jQuery(document).ready(function () {
  jQuery(".da-feedback .da-quote").hide();
  jQuery(".da-feedback .da-quote:first-child").show();
  setTimeout('NextItem(1)',6000);
});

function NextItem($n) {

 jQuery('.da-feedback .da-quote:nth-child('+$n+')').slideUp('slow');
 $n = $n + 1;
 jQuery('.da-feedback .da-quote:nth-child('+$n+')').slideDown('slow');
 setTimeout('NextItem('+$n+')',6000);
}

</script>

<div class="da-feedback">
   <div class="da-quote" style="display: none; ">....</div>
   <div class="da-quote" style="display: none; ">....</div>
   <div class="da-quote" style="display: none; ">....</div>
</div>

我想知道jquerys是否为您提供了更轻松的功能。

2 个答案:

答案 0 :(得分:1)

你有没有看过.delay()

function NextItem(n) {
    $('.da-feedback .da-quote:nth-child('+$n+')').slideUp('slow')
        .delay(6000).slideDown('slow', NextItem(n++)); 
    // callback fires upon completion
};
NextItem(1);

顺便说一句,它实际上并没有影响任何东西,但是使用JavaScript你不需要用$来启动你的变量,并且使用jQuery时,当且仅当变量是jQuery对象时,它被认为是这样做的约定。

答案 1 :(得分:0)

查看jQuery toggle()和jQuery next()以及prev()方法。

哦......也许slideToggle()也可以为你服务。