複用window.onload方法
Javascript中,ad是指當頁面加載完成後,要觸發的事件。比如頁面加載完,要顯示某個歡迎介面,這時就需要onload方法。
通常的用法如下: ad = my_onload_function;
這種方法有個問題就是,如果onload時需要調用多個方法時,這樣寫的話,後面調用的會覆蓋前面的,最終只有最後面調用的方法會執行,前面的不會。
那要怎樣才能複用onload方法,讓其調用的方法都執行呢?
操作方法
(01)首先我們看下問題,如圖,頁面加載完後,從log輸出的資訊看只有 function2輸出, 第一個方法的調用被覆蓋,沒有執行輸出
(02)方法一: 這個問題,首先我們就是要用JQuery庫了,引入Jquery庫對dom的其他操作也方便。引入Jquery庫檔案,並把代碼改成如圖,
(03)$(document)y(function() {}); 他意思是當文檔準備好(加載完),就執行裏面的代碼,相當於onload事件了。ready方法可以寫多個,而不會相互覆蓋,直接解決了上面的問題,複用了onload方法,看下執行結果,從log資訊輸出來看,正確按順序執行了二個function了。
(04)如果你不想引入Jquery腳本庫,也是有方法解決的。方法二, 如圖,把onload方法給 all_onload_function,然後其他需要在 onload執行的方法,全部在all_onload_function裏進行調用執行。這個方法的缺點是,當多人協作開發,其他人不知道你也定義了onload方法,他那邊也定義一個onload方法就會發生原來覆蓋的問題了。
(05)方法三,我們添加一個 addOnLoadEvent方法,這個方法首先判斷onload事件是否已經有了對應的方法,沒有的話,直接賦值給參數傳進來的方法。如果原先已經有了,則重新定義onload方法,先調用原來的方法,再調用參數傳進來的新方法。如圖
(06)這個方法從理論上說,也是支援無限個onload方法的,執行結果如圖,正確按順序執行了三個方法。
(07)總結,方法二適合個人開發,並要時刻注意不能重複寫 ad, 因爲會被覆蓋。方法一和方法三都可以有無限多個Onload的方法,不用擔心被覆蓋。如果你不需要引入額外的腳本庫,就用方法三。如果你的代碼裏已經引入了Jquery庫的,則可以使用方法一。腳本庫省卻了我們很多工作,我們不需要做太多重複的工作,只需要調用就行了。
-
用CSS製作三角形,替代背景圖片
網頁設計,製作,在早期,一般都是用背景圖片來呈現三角形,比如一個提示視窗,有一個三角形圖標指示,這個圖標一般就是背景圖片來的。現在我們不用背景圖片,直接用CSS來生成,需要怎麼做呢?操作方法(01)先看下html代碼,代碼很簡單,就是幾個div,我們爲其中一個div加上樣式名,angle,...
-
微博與博客到底是什麼?幹什麼用的
微博與博客到底是什麼,它們主要是用來做什麼,讓小編來給你普及指南。操作方法(01)微博和博客都是用戶用來發表文章的一個平臺系統,透過自我內容的發佈與其他網絡用戶形成互動交流。(02)微博可以看做是小型的博客,文字輸入量被限制在140字。這是微博最大的特點。另外微...
-
excel打印區域怎麼設定
MicrosoftExcel是微軟公司的辦公軟件Microsoftoffice的組件之一,是由Microsoft爲Windows和AppleMacintosh操作系統的電腦而編寫和執行的一款試算表軟件。操作方法(01)開啟Excel檔案後將鼠標移動到頁面佈局選框點擊頁邊距按鈕。(02)在頁面設定的小視窗中勾選自己所需...
-
PHP如何獲取日期的年份?
在PHP開發中,我們很多時候會用到日期,當我們只用到日期的年份時,怎麼獲取一個日期的年份?下面一起來看下。操作方法(01)用到日期函數,我們當然少不了用date方法了。看下我們的代碼,如圖,很簡單,就是用date方法獲取到當前日期,然後用‘y'標誌格式化日期輸出,只輸出年份...