0

開発中のWebサイトがあり、メインページに複数のDivがあります。ページの右側にright_bar2というラベルの付いたdivがあり、5〜10秒ごとに変更したいと思います。div全体は、リンクである画像になります。基本的に、これを行う最も簡単な方法は、非表示のdivの束を含むdivを作成し、次に1つのdivを一度に再表示してから、もう一度非表示にして別のdivを再表示するjavascriptを作成することだと思いました。しかし、私はそれを行うための最良の方法がわかりません。私はたくさんの例を見てきましたが、100%正しく機能させることができません。

アドバイスありがとうございます;)

JsFiddleの例は素晴らしいでしょう!

このhttp://jsfiddle.net/VENLh/4/のようなものを試しましたが、私のrails environment / setupでは、複数のものが壊れるので、よりクリーンで簡単なものが必要です。

4

2 に答える 2

0

この fiddleで少しクリーンアップしましたが、元の環境で元の環境で複数のものが壊れていると言った場合、これで修正されない可能性があります。具体的にどこが壊れたの?

私がクリーンアップしたのは、JS の DIV を手動で数えたり、ID を気にしたりする必要がないようにするためです。コードは非常に単純です。

$(function() {
    var $divs = $('div', '#container'),
        total = $divs.length,
        counter = 0,

        showDiv = function() {
            $divs.stop().hide();
            $($divs[counter]).show('fast');
            counter = (conter + 1) % total;
            setTimeout(showDiv, 3000);
        };
    $divs.hide();
    showDiv();
});

おそらく実行する必要がある最適化を 1 つも実行していません。おそらく、各 DIV で jQuery セレクターの結果をキャッシュする必要があります。jQuery ステートメントを使用すると簡単に実行できますが、mapここで水を濁したくはありません。

于 2012-07-10T03:20:33.383 に答える
0

この場合の唯一の問題は、重い画像を使用する場合、読み込みに時間がかかる場合があることです。最初に表示したときに画像の読み込みが開始されるためです。したがって、このためには、不透明度を0に保ち、ページロード時に画像をロードする必要があると言えます。

また、1 つの div が非表示になり、他の div が表示されるようになる遅延を削除するには、不透明度を使用して削除できます。1 つの不透明度を 100 から 0% に減らし、他の不透明度を 0 から 100% に増やします。

于 2012-07-10T03:25:40.570 に答える