2012-09-30 100 views
-1

我有一個jQuery腳本,它使它顯示Please Wait,3秒鐘,然後顯示一個DIV。現在我遇到的問題是,當我顯示:無;它導致我的其他div的寬度和高度扭曲。是否有另一種方法隱藏函數期間可能不會中斷?顯示:無;導致寬度問題

jQuery的使用

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

您能不能告訴我們您的問題 –

+0

我會嘗試,其中寬度和高度是越來越扭曲的問題是另一個jQuery函數內。 – Necrohhh

+0

您可以嘗試將其設置爲'visibility:hidden;'而不是none。這會隱藏它而不從佈局中移除div。 – mrtsherman

回答

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/

+0

當我這樣做時,我等待加載的內容從未被隱藏。 – Necrohhh

+0

我會把它放在一個小提琴.. – techfoobar

+0

檢查小提琴,看看這是你在找什麼.. – techfoobar

2

您可以使用visibilty而不是display css屬性。否則,你會想要以不同的方式去做。根據您的頁面佈局有幾個選項。

visibility:hidden; 
visibility:visible; 

您也可以將計時器包裹在另一個元素內並隱藏該元素。在這種情況下,我在計時器周圍添加了一個跨度。然後,您可以在選擇器中使用直接派生選擇器>進行隱藏。使用http://jsfiddle.net

<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​​​​​​​​​​​​​​​​​​​ 
+0

這只是坐在計時器的跨度 – Necrohhh