1

を使用して2つのdivを表示および表示していますJquery

コードは

var show_hide = function () {
    $("#extravagents_label").fadeToggle(function () {
        $("#liquid.liquidContanier").fadeToggle().delay(1500);
    });
}

setInterval(show_hide, 1500);

しかし、問題があります。それは適切に仕事をしていません。一方が完全に非表示になっている場合は、もう一方の div を表示する必要があります。203.81.193.2/jsvt/にアクセスしてください。表示および非表示になっているメイン スライダーの下に、アイコンとテキストがあります。

4

3 に答える 3

2

タイミングに注意する必要があり、setIntervalそれは物事をかなりひどく台無しにする可能性があります。

タイミングが問題になる場合:

var show_hide = function () {
    $("#extravagents_label").fadeToggle(callblack);
}

var callblack = function () {
    $("#liquid.liquidContanier").fadeToggle()
        .delay(1500).queue(show_hide);
}

これがお役に立てば幸いですが、それでもあなたが何を求めているのかわかりません

于 2013-02-07T14:44:02.667 に答える
2

これを試して:

jQuery

function show_hide() {
 $('#extravagents_label').delay(1000).fadeOut(1000).delay(1000).fadeIn(1000);
 $("#liquid .liquidContanier").delay(1000).fadeIn(1000).delay(1000).fadeOut(1000);
   //don't forgot to use space between id and it's child class
}

setInterval(show_hide,4000);
           //this timing should be total timing values of the show_hide function

あなたのCSSを推測することは次のようになるはずです:

#extravagents_label { display:block; }
#liquid .liquidContanier { display:none; }
于 2013-02-07T14:48:40.813 に答える
2

コードを多少変更するjsfiddleを作成しました。基本的に、間隔は1.5秒ごとに発生しますが、2番目の要素のfadeToggleも遅延します。jQueryが要素をフェードインおよびフェードアウトするのにかかる時間を計ることができないため、コールバックがそれを処理します。

var show_hide = function () {
    $("#extravagents_label").fadeToggle(function () {
        $(this).fadeToggle();
        $("#liquid.liquidContanier").fadeToggle(function () {
            $(this).fadeToggle();
            show_hide();
        });
    });
}

setTimeout(show_hide, 1500);
于 2013-02-07T14:49:14.717 に答える