2014-04-23 67 views
0

我有這樣的jQuery代碼不會表明開始我們作爲display: none如何顯示()的ID塊

$(document).ready(function() { 
    $(window).load(function() { 

    $('#anId').hide(); // show section 
    $('#anId').show(); // show section 
    $('#anId').hide().show(); // show section 
    $('#anId').css('display', 'block'); // show section 

    }); // end .load() 
}); // end .ready() 

的建議任何想法,爲什麼內容塊?

這裏的標記:

<fieldset class="formField__marginTop formField__area" id="anId" style="display: none;"> 
<legend>Reservation Notes</legend> 
<div class="formField__optional"> 
<label for="reservationNote">Optional Notes</label> 
<textarea name="reservationNote" id="reservationNote" rows="5" cols="21" class="formField__text formField__textarea255" enabled="enabled" maxlength="255"></textarea> 
<small class="formField__tip">Enter any additional and pertinent information relating to this reservation.</small> 
</div> 
<div class="formField__optional"> 
<label>Note Type</label> 
<fieldset class="formField__list formField__inlineButtons" enabled="enabled"> 
<label for="reservationNoteType_746440"> 
<input type="radio" value="0" name="reservationNoteType" id="reservationNoteType_746440" class="formField__list" checked="checked"> Private (Internal Use Only) 
</label> 
<label for="reservationNoteType_445052"> 
<input type="radio" value="1" name="reservationNoteType" id="reservationNoteType_445052" class="formField__list"> Public (Customer Viewable) 
</label> 
</fieldset> 
<small class="formField__tip">Choose whether this note is for internal or external use.</small> 
</div> 
</fieldset> 
+0

應該可以正常工作,你可以顯示你的html標記嗎? – Anton

+0

是的,它會;證明:http://jsbin.com/silepazi/1。 (注意:沒有理由在'ready'處理函數中包裝一個'load'處理函數,並且幾乎不需要任何*;只需要將腳本放在最後。) –

+0

爲什麼要把'window.load您的'document.ready'處理程序中的'handler? – Alnitak

回答

1

只使用該處理器$(document).ready()$(window).load 和你的腳本應該正常工作之一。

注意,$(document).load()$(window).ready運行。

+0

好吧,我會嘗試@JefferyThaGintoki - 我使用它,因爲我發現在http://stackoverflow.com/questions/3008696/after-all-document-ready-have-run-is-there-and- event-for-that –

+1

窗口加載不會在文檔準備就緒之前觸發:http://jsfiddle.net/EGCm9/ –

+0

@JasonP對不起,我是錯的yep'ready'語句在加載頁面後運行,而'load'語句所有頁面內容加載時運行。 –

1

你的問題是,您放置一個document.ready事件內window.load事件。 window.load應該在document.ready之後發生,所以它永遠不會着火。 document.ready對於這種效果更好,因爲它在DOM準備就緒時觸發。

取出$(window).load(function() {部分和相應的});和你的代碼應該工作。

編輯:當window對象已完成加載

window.load事件將觸發。實際上,您可以將任何事件附加到任何事件中,以便在圖像加載完成或類似時可以觸發它。更多詳細信息,請訪問:當DOM滿載

https://api.jquery.com/load-event/

document.ready事件將觸發 - 這通常是點時,頁面已經準備好通過JavaScript來接受處理。正如@Jason P指出的那樣,這實際上是在window.load之前,因爲該事件在頁面中的所有內容完成加載時觸發。這裏有更多的細節:

http://api.jquery.com/ready/

一個實際的例子是在它真正的大圖像,這需要幾秒鐘的加載一個簡單的頁面。當瀏覽器構建DOM時,將觸發document.ready事件,但window.load函數只會在圖像加載完成後觸發,因此可能會在頁面顯示後幾秒鐘內觸發。

+0

我做了它,因爲我發現T http://stackoverflow.com/questions/3008696/after-all-document-ready-have-run-is-there-and-event-for-that @edcs –

+0

window load在文檔準備之前不會觸發:http://jsfiddle.net/EGCm9/ –

+0

剛剛意識到 - 我記得在需要使用window.load而不是document.ready之前遇到問題,因爲我需要知道圖片。抱歉! – edcs