2011-03-30 54 views
0

我想在彈出模式窗體上的div之間切換。我看到的問題是模式頁面上的document.ready()函數,它試圖加載父窗體。它扭曲整個頁面,並嘗試自動顯示,如果我加載主要的父窗體。有沒有像div.ready()?我如何在我彈出的模式窗體中包含此代碼?jquery在彈出模式窗體中切換

切換這裏

<html> 
<head> 
<title>jQuery test page</title> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$("#clickMe").click(function() { 
$("#textBox").toggle(); 
}); 
}); 
</script> 
</head> 
    <body> 
    <a id="clickMe">Toggle my text</a> 
    <br /> 
    <div id="textBox">This text will be toggled</div> 
    </body> 

回答

0

是的,這樣的表達像DOM_ELEMENT.ready()代碼存在,像你所面對現在的一個場景是非常有用的。

更新:

我發現,這個插件是做你需要的東西: jQuery.elementReady()

例子:

1: 儘快更改特定圖像的源它被載入到 DOM中(在整個DOM被載入之前)。

$.elementReady('powerpic', function(){ 
    this.src = 'powered-by-jquery.png'; 
}); 

2: 如果你想擁有jQuery對象,而不是常規的DOM

element, use the $(this) function. 
$.elementReady('header', function(){ 
    $(this).addClass('fancy'); 
}); 

3: 鏈多次調用$ .elementReady()。

$.elementReady('first', function(){ $(this).fancify(); }) 
.elementReady('second', function(){ $(this).fancify(); }); 

4: 使用你的回調中的「$」的別名,甚至在noConflict模式。

jQuery.noConflict(); 
jQuery.elementReady('header', function($){ 
    $(this).addClass('fancy'); 
}); 

5: 輪詢間隔改變爲100ms。這僅適用於尚未調用$.elementReady()的情況。

$.elementReady.interval_ms = 100; 
+0

但考慮到這一點:_from jQuery的準備官方文檔:_ – 2011-03-30 10:25:39

+0

_(在代碼依賴於加載的資源情況下(例如,如果需要的圖像的尺寸),代碼應該放在處理爲負載事件代替。)_ – 2011-03-30 10:25:56

+0

謝謝ElSayed。任何例子? – karto 2011-03-30 11:25:17