青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

f(sixleaves) = sixleaves

重劍無鋒 大巧不工

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  95 隨筆 :: 0 文章 :: 7 評論 :: 0 Trackbacks
今天完成了圖片庫的改進,不得寫下關于這個的深切感觸,獲得的寶貴經驗!。不羅嗦直接看先看代碼
1.平穩退化
    要支持平穩退化,也就是在瀏覽器禁用js時,不會造成無法瀏覽,知識用戶體驗變差了而已,功能還是實現了的。此時就不能使用javascript偽協議加href屬性來解決。如下。
2.分離js
    分離js的關鍵技術就是要結合HTML生命周期,和window對象的onload方法以及元素對象擁有事件函數進行相應的自定義函數綁定。
3.兼容性(對象檢查技術、其實用來確定代碼錯誤位置也很好用)
4.優化代碼(使用特定壓縮工具,壓縮js代碼)
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title>Image Gallery</title>
 6     </head>
 7     <body>
 8         <h1>Snapshots</h1>
 9         <ul id = "imagegallery">
10             <li>
11                 <href="images/fireworks.jpg" title="A fireworks display">
12                 Fireworks
13                 </a>
14             </li>
15             <li>
16                 <href="images/coffee.jpg" title="A cup of black coffee">
17                 Coffee
18                 </a>
19             </li>
20             <li>
21                 <href="images/rose.jpg" title="A red. red rose">
22                 Rose
23                 </a>
24             </li>
25             <li>
26                 <href="images/bigben.jpg" title="The famous clock">
27                 Big Ben
28                 </a>
29             </li>
30         </ul>
31         <img id="placeholder" src="images/placeholder.jpg" alt="my image gallery" />
32         <id="desp">Choose an Image</p>
33         <script type="text/javascript" src="./scripts/showPic.js">
34         </script>
35     </body>
36 </html>
g 1 function showPic(whichPic) {
 2     alert("showPic");
 3     var source = whichPic.getAttribute("href");
 4     var placeholder = document.getElementById("placeholder");
 5     placeholder.setAttribute("src",source);
 6     var text = whichPic.getAttribute("title");
 7     var txtNode = document.getElementById("desp").firstChild;
 8     txtNode.nodeValue = text;
 9     return false;
10         /*
11         經驗總結:
12         1.由于js是動態語言,所以存在一個很嚴重的問題,
13         那就是你自己取的變量名稱時,盡可能的采用駱駝峰寫法,
14         并且最后借助好的編輯器,有自動補全功能的編輯器,一面
15         拼寫錯誤,這種錯誤低級,而且查找起來十分困難。
16 
17         2.如果站點用到多個js文件,因該把它合并到一個文件中。以減少請求次數,提高性能。
18 
19     */
20 }
21 
22 function addLoadEvent(func) {
23     var oldLoad = window.onload;
24     if(typeof oldLoad == 'function') {
25         window.onload = function() {
26             oldLoad();
27             func();
28         }
29     }else {
30         window.onload = func;
31     }
32 }
33 
34 function prepareGallery() {
35     //使用對象檢查技術,檢查所要用到的方法是否可以用。
36     //在js dom中,一切都可視為對象,包括方法,
37     //所以說這是對象檢測技術,檢測這個對象存不存在
38     //下面主要是檢查瀏覽器是否支持這些DOM接口
39     //alert("jsss");
40     
41     if(!document.getElementsByTagName) {alert("tag");return false};
42     if(!document.getElementById) return false;
43     if(!document.getElementById("imagegallery")) return false;
44     var gl = document.getElementById("imagegallery");
45     var links = gl.getElementsByTagName("a");
46     //alert(typeof links);
47     for(var i = 0; i < links.length; i++) {
48         links[i].onclick = function() {
49             return showPic(this);
50         }
51     }
52     //alert("end");
53 }
54 addLoadEvent(prepareGallery);
55 /*
56 這里介紹下HTML的聲明周期,當HTML文檔完成加載時,此時DOM節點樹立即構建起來,此時會出發window對象的onload事件
57 所以我們在這個時候執行prepareGallery()函數進行,相應節點對象上的事件綁定是最合適的,因為此時我們能確保整顆節點
58 樹已經構建完畢,我們綁定只要代碼不出錯,就肯定不會出錯。要是不用這個事件來處理。而只是通過srcipt標簽引入,不管是放在
59 head區域還是body結束之前,都無法保證此時DOM節點樹已經構建完成,所以要實現js分離我們一定要用到HTML的聲明周期中的加載完成
60 ,構建完成DOM節點樹而觸發的window.onload事件,有人會問此時document對象是否存在,在BOM中,window對象含有一個成員變量,
61 就是document,所以有window對象,就有document對象。
62 */
63 
g
代碼中的注釋已經詳細說明了代碼是要來干什么的。其實今天改進版本的圖片庫,本來是想學習下HTML生命周期和DOM節點樹的關系,以及和window.onload的關聯。還有學習怎么平穩退化。結果卡殼,卡了半天,差錯,差了半天,起初是其中一個字符編碼有問題,運行結果不對。找了半天才找到。
這里總結寫js的快速調試辦法,當然有點麻煩。
我們在寫js時,如果在定位元素時,我們應該分步定位,步步縮進,在定位時,利用對象檢查技術,我們可以很輕易找到我們出錯的地方。本來這項技術是用來保證兼容性的,但是我們還可以用它來定位錯誤!,在沒有該對象的時候使用alert進行提示。在調試時,我們就可以快速定位錯誤的位置,因為大多數時候我們寫的代碼在我們理解的邏輯上是不會有錯的,但是我們有時可能為定位某個元素,給其加了給id,但是定位時卻拼錯了,這時我們通過對象檢查技術,就可以很快找到錯誤的地方。
2014.07.11
02:44
于福州
posted on 2014-07-11 02:41 swp 閱讀(165) 評論(0)  編輯 收藏 引用 所屬分類: Web
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人精品一区| 亚洲精品欧美精品| 欧美精品一区二区三区在线看午夜| 久久国产精品免费一区| 欧美日韩不卡合集视频| 亚洲激情视频在线| 欧美黄色一区| 快射av在线播放一区| 国产亚洲一区在线| 欧美亚洲免费电影| 午夜精品免费在线| 国产在线精品自拍| 麻豆久久久9性大片| 久久久久免费观看| 午夜精品剧场| 国产婷婷97碰碰久久人人蜜臀| 午夜精品久久久久久久蜜桃app| 亚洲一区尤物| 国产精品久久久久毛片大屁完整版| 在线综合视频| 国产精品99久久久久久宅男| 国产精品乱人伦中文| 欧美一区二区三区四区夜夜大片| 亚洲免费在线观看| 激情91久久| 亚洲电影在线看| 欧美激情在线观看| 亚洲欧美国产高清va在线播| 午夜精品在线| 激情综合色综合久久| 欧美成人一二三| 欧美激情在线播放| 亚洲欧美一区二区三区在线| 欧美一区二区在线观看| 亚洲电影免费观看高清| 亚洲精品国精品久久99热| 国产精品乱码一区二三区小蝌蚪| 久久午夜av| 欧美精品一区三区在线观看| 亚洲综合999| 另类春色校园亚洲| 亚洲视频中文| 久久天堂成人| 亚洲欧美中文另类| 久久久午夜电影| 亚洲曰本av电影| 久久久美女艺术照精彩视频福利播放 | 亚洲欧美在线另类| 在线免费观看欧美| 一本久久精品一区二区| 狠狠干综合网| 一区二区日韩精品| 精品不卡视频| 亚洲一区二区三区四区视频| 亚洲国产日韩欧美一区二区三区| 亚洲天堂久久| 亚洲精品一级| 欧美在线观看视频在线 | 最新国产成人在线观看| 国产日韩欧美视频| 99精品欧美一区二区蜜桃免费| 国产在线精品成人一区二区三区 | 久久se精品一区二区| 欧美xxx成人| 久久露脸国产精品| 国产精品久久久久久久午夜| 亚洲国产高清一区二区三区| 国产欧美欧美| 制服丝袜亚洲播放| 日韩视频不卡中文| 久久在线免费观看视频| 久久久91精品国产一区二区精品| 欧美午夜不卡在线观看免费 | 久久爱www.| 国产精品国产精品| 日韩午夜视频在线观看| 亚洲国产欧美一区二区三区久久| 欧美一区二区三区视频在线| 午夜精品久久久久久| 欧美三级电影精品| 亚洲黄色有码视频| 亚洲高清在线播放| 久久精品国产欧美激情| 久久精品五月婷婷| 国产酒店精品激情| 香蕉国产精品偷在线观看不卡| 亚洲欧美日韩国产| 国产精品大片免费观看| 日韩视频永久免费观看| 在线性视频日韩欧美| 欧美精品激情blacked18| 亚洲激情在线激情| 艳妇臀荡乳欲伦亚洲一区| 欧美+日本+国产+在线a∨观看| 免费短视频成人日韩| 亚洲国产一区视频| 欧美日韩aaaaa| 亚洲视频综合| 久久久精品国产免大香伊| 国产一区二区三区四区hd| 久久精品一区二区三区不卡牛牛| 免费一级欧美在线大片| 亚洲激情六月丁香| 欧美视频不卡| 性欧美超级视频| 亚洲国产成人在线| 欧美日韩精品免费观看视频完整 | 亚洲国产合集| 在线视频欧美日韩| 国产精品一二三四| 久久久久久久精| 亚洲三级电影全部在线观看高清| 亚洲夜晚福利在线观看| 国产精品一级二级三级| 久久久久久综合| 99视频超级精品| 老鸭窝毛片一区二区三区 | 免费国产一区二区| 亚洲七七久久综合桃花剧情介绍| 亚洲视频第一页| 国产视频亚洲精品| 欧美.com| 午夜精品视频在线| 欧美黑人一区二区三区| 中文日韩在线| 国内精品视频666| 欧美激情一区| 欧美在线免费视频| 亚洲美女在线视频| 久久精品123| 99国产精品国产精品久久| 国产精品亚洲一区| 蜜桃久久av一区| 亚洲在线视频| 亚洲国产婷婷香蕉久久久久久| 午夜久久美女| 一区二区电影免费观看| 国内精品久久久久久影视8 | 亚洲私人影院在线观看| 韩国一区二区三区在线观看 | 欧美在线视频一区| 99视频热这里只有精品免费| 国产亚洲精品美女| 欧美日韩一区二| 久久这里有精品15一区二区三区| 中文亚洲字幕| 亚洲国产成人久久综合一区| 欧美在线一二三| 一区二区三区四区国产精品| 亚洲国产一区在线观看| 激情国产一区| 国产噜噜噜噜噜久久久久久久久| 欧美精品乱码久久久久久按摩| 久久久久久久久久久久久久一区| 亚洲一区久久久| 日韩亚洲欧美成人| 亚洲黄色av一区| 欧美成人国产va精品日本一级| 欧美亚洲综合在线| 亚洲一区观看| 亚洲图片欧美一区| 一本大道久久精品懂色aⅴ| 亚洲第一精品夜夜躁人人爽| 韩国女主播一区二区三区| 国产视频一区二区在线观看 | 欧美一区二区在线观看| 一区二区欧美视频| 亚洲九九爱视频| 亚洲精品一区二区三区av| 亚洲成人在线网| 在线观看一区视频| 一区二区视频免费在线观看| 狠狠色伊人亚洲综合网站色| 国产亚洲福利| 国产视频一区二区在线观看| 国产日韩欧美| 国产亚洲欧美另类中文| 国产午夜精品久久久久久久| 国产精品自在线| 国产一区二区日韩精品| 狠狠久久婷婷| 最新日韩在线视频| 亚洲精品一区二区网址| 一区二区免费看| 亚洲自拍偷拍色片视频| 亚久久调教视频| 久久天堂国产精品| 麻豆91精品| 亚洲国产精品精华液网站| 亚洲国产精品123| 亚洲黄一区二区三区| 亚洲人成啪啪网站| 亚洲一级电影| 欧美在线啊v| 麻豆freexxxx性91精品| 欧美国产三级| 国产精品超碰97尤物18| 国产欧美精品久久| 亚洲国产日韩在线一区模特| 亚洲精品九九|