Jquery褪色文本与循环

时间:2012-06-25 10:46:51

标签: jquery loops fade

我正在尝试使包含文本的div淡出另一个div淡入然后原始来然后重复或循环它所以它不断重复2条消息这是我的代码:

<div id="specialoffer">
  <div id="specialoffertext">Reduced rates over the <br />
    next few months</div>
  <div id="specialoffertext2" style="display:none;">Contact us today to <br />
    find out more</div></div>​

    var $body = $(document.body),
    cycle;

(cycle = function() {
        $('#specialoffertext')..delay(2000)fadeOut('slow');
        $('#specialoffertext2').delay(3000).fadeIn('slow');
        $('#specialoffertext2').delay(3500).fadeOut('slow');
        $('#specialoffertext').delay(5000).fadeIn('slow', cycle);

})();​

在jsfiddle上播放它时工作得很好,然后很快我上传它就不起作用了?

3 个答案:

答案 0 :(得分:3)

你的代码不会在jsfiddle中运行,因为你在这里有一个额外的点而你又错过了另一个

 $('#specialoffertext')..delay(2000)fadeOut('slow');

将其取下并放在正确的位置

 $('#specialoffertext').delay(2000).fadeOut('slow');

并且evrything应该工作

http://jsfiddle.net/kEGgC/1/

答案 1 :(得分:2)

使用此:

(function foo() {
    $('#specialoffertext').toggle('slow', function() {
        $('#specialoffertext2').toggle('slow', foo);
    });
})();​

Live DEMO

答案 2 :(得分:0)

jsFiddle为您处理加载jQuery。您是否忘记包含jQuery库?

此外,您还有({1}}代码之外的JavaScript代码。

您应该将代码置于某些<script>标记内,并使用jQuery的<script>回调。

document.ready

此行也有语法问题 -

$(function(){
  // your code goes here
});

$('#specialoffertext')..delay(2000)fadeOut('slow'); 之前有一段错误的双重期,而你错过delay之前的一段时间。