-1

私は、3秒間お待ちくださいを表示してからDIVを表示するようにするjQueryスクリプトを持っています。今私が抱えている問題は、display: none; を行うときです。他のdivの幅と高さが歪んでいます。関数の実行中に div を非表示にして中断しない別の方法はありますか?

jQueryを使用

setTimeout(function(){
    $("#loading").hide(100); //100 = animation speed in miliseconds
    $("#quickstats").show(100);
}, 3000); //3000 miliseconds = 3 seconds​​​​​​​​​​​​​​​​​​​
4

2 に答える 2

2

cssプロパティvisibiltyの代わりに使用できます。displayそうでなければ、あなたはそれについて別の方法でやりたいと思うでしょう。ページレイアウトに応じて、いくつかのオプションがあります。

visibility:hidden;
visibility:visible;

タイマーを別の要素の中にラップして、代わりにそれを非表示にすることもできます。この場合、私はあなたのタイマーの周りにスパンを追加しました。次に、セレクターで直接子孫セレクター>を使用して非表示にすることができます。

<div id="loading"><span>Timer</span></div>

setTimeout(function(){
    $("#loading > span").hide(100); //100 = animation speed in miliseconds
    $("#quickstats").show(100);
}, 3000); //3000 miliseconds = 3 seconds​​​​​​​​​​​​​​​​​​​
于 2012-09-30T02:27:16.407 に答える
0

#loading DIV と #quickstats DIV の幅が同じであると仮定すると、以下を試すことができます。

setTimeout(function(){
    $("#loading").animate({opacity: 0}, 100, function() {
        $(this).hide();
        $("#quickstats").css({opacity: 0}).show().animate({opacity: 1}, 100);
    });
}, 3000);

デモ: http://jsfiddle.net/XUSM2/

デモ (ページ読み込み時): http://jsfiddle.net/XUSM2/1/

于 2012-09-30T02:19:03.047 に答える