1

我正在尝试使包含文本的 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 上玩它时效果很好,然后我上传它后它就不起作用了??

4

3 回答 3

3

您的代码不会在 jsfiddle 中运行,因为您在这里有一个额外的点并且您缺少另一个

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

取下并放在正确的位置

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

一切都应该工作

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

于 2012-06-25T10:48:05.833 回答
2

用这个:

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

现场演示

于 2012-06-25T10:49:09.860 回答
0

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

你也有(看起来像)标签之外的 JavaScript 代码<script>

你应该把你的代码放在一些<script>标签中,并利用 jQuery 的document.ready回调。

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

你也有这行的语法问题 -

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

之前有一个错误的双句号,delay而您之前缺少一个句号fadeOut

于 2012-06-25T10:50:12.003 回答