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 ライブラリを含めるのを忘れていませんか?

<script>また、タグの外側に JavaScript コード (のように見えます) があります。

コードをいくつかの<script>タグ内に配置し、jQuery のdocument.readyコールバックも利用する必要があります。

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

この行にも構文上の問題があります-

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

の前に誤った 2 つのピリオドがあり、 の前にピリオドdelayがありませんfadeOut

于 2012-06-25T10:50:12.003 に答える