❶ js window.onload 載入多個函數的方法
用法如下:
function
func(){alert("this
is
window
onload
event!");return;}
window.onload=func;
或者如下:
window.onload=function(){alert("this
is
window
onload
event!");return;}
但window.onload
不能同時載入多個函數。
比如:
復制代碼
代碼如下:
function
t(){
alert("t")
}
function
b(){
alert("b")
}
window.onload
=t
;
window.onload
=b
;
後面會把前面的覆蓋,上面代碼只會輸出
b。
此時可用如下方法解決:
window.onload
=function()
{
t();
b();
}
另一種解決方法如下:
復制代碼
代碼如下:
function
addLoadEvent(func)
{
var
oldonload
=
window.onload;
if
(typeof
window.onload
!=
'function')
{
window.onload
=
func;
}
else
{
window.onload
=
function()
{
oldonload();
func();
}
}
}
使用如下:
復制代碼
代碼如下:
function
t(){
alert("t")
}
function
b(){
alert("b")
}
function
c(){
alert("c")
}
function
addLoadEvent(func)
{
var
oldonload
=
window.onload;
if
(typeof
window.onload
!=
'function')
{
window.onload
=
func;
}
else
{
window.onload
=
function()
{
oldonload();
func();
}
}
}
addLoadEvent(t);
addLoadEvent(b);
addLoadEvent(c);
//等價於
window.onload
=function()
{
t();
b();
c()
;}
個人以為直接使用隱式函數(如:window.onload
=function()
{
t();
b();
c()
;})更快捷,當然使用
addLoadEvent
更professional,各取所好吧!
❷ JS中document對象和window對象有什麼區別么
一、指代不同
1、document對象:代表給定瀏覽器窗口中的 HTML 文檔。
2、window對象:表示瀏覽器中打開的窗口。
二、作用不同
1、document對象:使用 document 對象可以對 HTML 文檔進行檢查、修改或添加內容,並處理該文檔內部的事件。
2、window對象:瀏覽器會為 HTML 文檔創建一個 window 對象,並為每個框架創建一個額外的 window 對象。
三、使用方式不同
1、document對象:在 Web 頁面上,document 對象可通過 window 對象的 document 屬性引用,或者直接引用。
2、window對象:沒有應用於 window 對象的公開標准,不過所有瀏覽器都支持該對象。
❸ js中windows的兩種打開方式
第一種: windows.open();
第二種: window.top.frames['框架名'].document.location.href='about:blank';
❹ 請教一個js問題,關於window打開新窗口,並關閉新窗口。
第二句window.open('','_self')導致的頁面刷新。
應該你把function close()這個函數刪掉就解決問題了。有用請採納。
你即便不定義這個函數onclick="close()"也能關閉窗口,如果關不了就用onclick="window.close()"
❺ js的 window.load 和window.onload 有什麼區別
JavaScript 中的以下代碼 :
Window.onload = function (){// 代碼 }
等價於
Jquery 代碼如下:
$(window).load(function (){// 代碼 });
執行時機
window.load——必須等待網頁中所有的內容載入完畢後 ( 包括圖片 ) 才能執行
$(document).ready()——網頁中所有 DOM 結構繪制完畢後就執行,可以能 DOM 元素關聯的內容並沒有載入完
編寫個數
window.load——不能同時編寫多個以下代碼無法正確執行:
window.onload = function(){ alert(「text1」);};window.onload = function(){ alert(「text2」);};結果只輸出第二個
$(document).ready()——能同時編寫多個以下代碼正確執行:
$(document).ready(function(){ alert(「Hello World」);});$(document).ready(function(){ alert(「Hello again」);});
結果兩次都輸出
以 瀏覽器裝載文檔為例,在頁面載入完畢後,瀏覽器會通過 Javascript 為 DOM 元素添加事件。在常規的 Javascript 代碼中,通常使用 window.onload 方法,而在 Jquery 中,使用的是$(document).ready() 方法。 $(document).ready() 方法是事件模塊中最重要一個函數,可以極大的提高Web 應用程序的速度。
另外,需要注意一點,由於在 $(document).ready() 方法內注冊的事件,只要 DOM 就緒就會被執行,因此可能此時元素的關聯文件未下載完。
例如與圖片有關的 html 下載完畢,並且已經解析為 DOM 樹了,但很有可能圖片還沒有載入完畢,所以例如圖片的高度和寬度這樣的屬性此時不一定有效。要解決這個問題,可以使用 Jquery 中另一個關於頁面載入的方法 ---load() 方法。
Load() 方法會在元素的onload 事件中綁定一個處理函數。
如果處理函數綁定給 window 對象,則會在所有內容 ( 包括窗口、框架、對象和圖像等 ) 載入完畢後觸發,如果處理函數綁定在元素上,則會在元素的內容載入完畢後觸發。
總結:
js:window.onload頁面一運行就執行該函數,執行該函數時,可能頁面中的圖片還沒有載入完成!
jquery: $(window).load()頁面中的圖片或其它東西載入完成之後,執行該函數。