整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          淺談Html的內容加載及JS執行順序

          事跟我說他用jQuery取不到頁面上隱藏元素input的值,他的html頁面大概內容如下。

          <!DOCTYPE html>
          <html lang="zh">
           
          <head>
          	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          	<script type="text/javascript" src="jslib/jquery-1.11.2.min.js"></script>
          	<title>淺談Html頁面內容執行順序</title>
          	<script type="text/javascript">
          		var userId = $('#hiddenUserId').val();
          		var contextPath = $('#hiddenContextPath').val();
          		var userName = $('#hiddenUserName').val();
          	</script>
          </head>
           
          <body>
          	<input type="hidden" id="hiddenUserId" value="101" />
          	<input type="hidden" id="hiddenContextPath" value="/web" />
          	<input type="hidden" id="hiddenUserName" value="小明" />
          </body>
           
          </html>

          頁面中的JS腳本在head中,JS腳本要讀取的input在body中。瀏覽器對html頁面內容的加載是順序加載,也就是在html頁面中前面先加載,因此當加載到JS腳本時,input還沒有加載到瀏覽器中。JS是一種解釋性的腳本,也是從上而下順序執行,由于這段JS代碼是立即執行的,所以當JS在執行的時候,讀取不到input的值。

          最直接的修改方法是把JS放到網頁的最下面執行。

          <!DOCTYPE html>
          <html lang="zh">
           
          <head>
          	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          	<script type="text/javascript" src="jslib/jquery-1.11.2.min.js"></script>
          	<title>淺談Html頁面內容執行順序</title>	
          </head>
           
          <body>
          	<input type="hidden" id="hiddenUserId" value="101" />
          	<input type="hidden" id="hiddenContextPath" value="/web" />
          	<input type="hidden" id="hiddenUserName" value="小明" />
          	
          	<script type="text/javascript">
          		var userId = $('#hiddenUserId').val();
          		var contextPath = $('#hiddenContextPath').val();
          		var userName = $('#hiddenUserName').val();
          	</script>
          </body>
           
          </html>

          把JS放到網頁的最下面,這樣在JS執行的時候,網頁內容都已經加載完畢。把JS放在網頁的最下面方法并不是最好的解決方法,大部分情況JS并不是總能放在網頁的最下面。這時可以用window的onload事件,onload事件在整個頁面都加載完成后才觸發,可以把JS腳本放在onload里面執行。不同瀏覽器onload事件添加方式也不一樣。

          IE下事件:

          window.attachEvent('onload', function(){
          			var userId = $('#hiddenUserId').val();
          			var contextPath = $('#hiddenContextPath').val();
          			var userName = $('#hiddenUserName').val();
          		});

          Chrome/Firefox等DOM標準事件:

          window.addEventListener('load', function(){
          			var userId = $('#hiddenUserId').val();
          			var contextPath = $('#hiddenContextPath').val();
          			var userName = $('#hiddenUserName').val();
          		});

          由于不同瀏覽器的事件添加方式不一樣,jQuery為我們提供了通用的初始化方法,該方法在頁面加載完成時觸發。

          $(function(){
          			var userId = $('#hiddenUserId').val();
          			var contextPath = $('#hiddenContextPath').val();
          			var userName = $('#hiddenUserName').val();
          		});

          上面方法本質就是添加onload監聽事件。

          最終修改后的頁面


          者:Tam Hanna

          轉發鏈接:https://www.creativebloq.com/how-to/21-ways-to-optimise-your-css-and-speed-up-your-site

          大家推薦一個網站(css-loaders.com),這個網站真的是特別好用,將來同學在開發項目的時候基本上都需要用到各種各樣的加載狀態,各種各樣的加載動畫。這個網站就提供了各種各樣的加載動畫,而且用起來超級簡單,就不可能不會用,特別簡單。

          大家看到了嗎?這么一堆的加載中動畫就很方便,而且我告訴你怎么用。舉個例子,比如這個,大家看我喜歡想要哪個動畫,只需要把鼠標放上去,有一個叫copy the CSS,把它的CSS樣式復制下來。

          然后去干什么?找到代碼,這是一個空的文件,直接Ctrlv粘貼,它就能自動的把剛才所看中動畫的樣式給復制進來了。對于頁面來說就只需要加一個div,這個div在這就加一個class,名字為loader的DIV,這樣一個加載中動畫就有了。

          然后就直接打開看一下,大家會看到了嗎?這個動畫就有了,特別方便。想換成別的樣式的就隨便切換就行了。只要有DIV,將來想用什么動畫就直接copy它的CSS樣式,比如這個,再復制一下,點擊一下就行了。把之前的樣式刪掉,再粘進來,剛才復制過來的,再粘貼,動畫也就出來了。

          是不是特別的好用?而且這里面的動畫效果特別多,能夠讓網頁變得非常炫酷。這些足夠用了,真的是多的不能再多了,給我看的都眼花繚亂了。這樣一個鬧鐘的效果,什么樣的都有。而且做的很簡單,只需要替換掉CSS,有這樣一個div,效果就有了。

          看到了嗎?各位,就這個網站的,必須收藏,真的好用。


          主站蜘蛛池模板: 国产精品亚洲一区二区三区久久| 中文字幕一区日韩精品| 国产AV午夜精品一区二区入口| 久久精品国产第一区二区三区 | 日韩在线一区高清在线| 怡红院AV一区二区三区| 亚洲午夜日韩高清一区 | 亚洲AV成人精品日韩一区18p| 精品伦精品一区二区三区视频 | 久久se精品一区精品二区国产| 国99精品无码一区二区三区| 海角国精产品一区一区三区糖心| 国产精品视频一区麻豆| 国产午夜三级一区二区三| 精品视频一区二区三区四区| 香蕉视频一区二区| 人妻精品无码一区二区三区| 久久精品国产一区二区三区肥胖| 无码少妇A片一区二区三区| 亚洲av日韩综合一区久热| 亚洲国产福利精品一区二区| 日韩精品无码一区二区中文字幕| 黄桃AV无码免费一区二区三区| 国产乱码精品一区二区三区| 亚洲一区中文字幕| 亚洲综合一区二区| 国产在线aaa片一区二区99| 国产成人av一区二区三区在线观看 | 国产精品一区在线观看你懂的| 精品国产一区二区三区色欲| 国产99久久精品一区二区| 久久久久人妻精品一区蜜桃| 一区二区三区视频网站| 国产激情一区二区三区四区| 久久久综合亚洲色一区二区三区| 精品人妻一区二区三区四区在线| 一区二区三区免费视频网站| 亚洲视频一区调教| 久久人妻内射无码一区三区| 国产探花在线精品一区二区| av无码人妻一区二区三区牛牛 |