新聞中心

        EEPW首頁 > 專題 > HTML5學前熱身 實用技巧及應用詳解

        HTML5學前熱身 實用技巧及應用詳解

        ——
        作者: 時間:2012-09-12 來源:51CTO 收藏

        二十六、data屬性(TheDataAttribute)

        本文引用地址:http://www.104case.com/article/136724.htm

        我們現在可以很正式地讓所有的HTML元素支持自定義屬性。然而,以前,我們可能會這樣:

        1. <h1idh1id=someIdcustomAttribute=value>小樣,膽兒挺肥的呢</h1> 

        校驗器會小題大做!但是現在,只要我們以”data”為前綴定義我們的自定義屬性,盜版屬性立馬變成正牌的了。如果你發現你曾經把一個重要的數據附加在諸如class的屬性上,可能為了JavaScript之用,那么,本屬性將大有幫助。

        二十七、Output元素

        正如你可能預料到的,output元素被用來顯示部分計算,例如,如果你想顯示一個鼠標的位置,或者是一系列數字的總和坐標,這個數據應被插入到output元素中。舉個簡單的例子,當提交按鈕被按下,我們用JavaScript將兩個數字相加值插入到空的output中。

        1. <formactionformaction=""method="get"> 
        2. <p>10+5=<outputnameoutputname="sum"></output></p> 
        3. <buttontypebuttontype="submit">計算</button></form>(function()  
        4. {varf=document.forms[0];if(typeoff['sum']!=='undefined')  
        5. {f.addEventListener('submit',function(e){f['sum'].value=15;e.preventDefault();  
        6. },false);  
        7. }  
        8. else  
        9. {alert('你的瀏覽器尚未準備好!');  
        10. }  
        11. }  
        12. )  
        13. (); 

        自己測試了下,貌似現在只有在Opera瀏覽器下有上佳的效果:

        如果您現在使用的是較新版本的Opera瀏覽器,您可以狠狠地點擊這里:HTML 5結果輸出框demo。此元素也可以接受一個屬性,它反映了輸出相關元素的名稱,類似label工作原理。

        二十八、使用區域input創建滑塊

        HTML 5引進了range類型的input。

        1. <inputtypeinputtype="range"> 

        最值得注意的是,它可以接收min,max,step,和value屬性,等等。雖然現在似乎只有Opera瀏覽器充分支持這種輸入類型,但是當我們可以實際使用時,這將是美妙無比的!

        第一步:標簽

        首先,創建標簽

        1. <formmethodformmethod="post"> 
        2. <h4>音量控制</h4> 
        3. <inputtypeinputtype="range"name="range"min="0"max="10"step="1"value=""/> 
        4. <outputnameoutputname="result"> 
        5. </output> 
        6. </form> 

        第二步:CSS

        下面,我們要使用一點點的樣式。我們將使用:before和:after去告知用戶我們制定的最大值和最小值。

        1. input{font-size:14px;font-weight:bold;}input[type=range]:before  
        2. {content:attr(min);padding-right:5px;}input[type=range]:after  
        3. {content:attr(max);padding-left:5px;}output  
        4. {display:block;font-size:5.5em;font-weight:bold;} 

        第三步:JavaScript

        ◆檢測我們的瀏覽器是否認識rangeinput,如果不,顯示提示。

        ◆當用戶移動滑塊的時候,動態改變output的值。

        ◆監聽,當用戶離開滑塊,插入值,同時本地存儲。

        ◆然后,下次用戶刷新頁面的時候,選擇的區域和值會自動地設置成他們最后一次選擇。

        1. (function(){  
        2.     var  f=document.forms[0],  
        3.     range=f['range'],  
        4.     result=f['result'],  
        5.     cachedRangeValue=localStorage.rangeValue?localStorage.rangeValue:5;  
        6.     //檢測瀏覽器是否是足夠酷  
        7.     //識別range input.  
        8.     var o=document.createElement('input');  
        9.     o.type='range';  
        10.     if(o.type==='text')alert('不好意思,你的瀏覽器還不夠酷,試試最新的Opera瀏覽器吧。');   
        11.  
        12.     //設置初始值  
        13.     //無論是否本地存儲了,都設置值為5  
        14.     range.value=cachedRangeValue;  
        15.     result.value=cachedRangeValue;  
        16.     //當用戶選擇了個值,更新本地存儲  
        17.     range.addEventListener("mouseup",function(){  
        18.   alert("你選擇的值是:"+range.value+".我現在正在用本地存儲保存此值。在現代瀏覽器上刷新并檢測。");  
        19.   localStorage?(localStorage.rangeValue=range.value):alert("數據保存到了數據庫或是其他什么地方。");  
        20.     },false);  
        21.     //滑動時顯示選擇的值  
        22.     range.addEventListener("change",function(){  
        23.           result.value=range.value;  
        24.     },false);  
        25. })();  

        上一頁 1 2 3 4 5 6 下一頁

        關鍵詞: HTML5

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 衡东县| 天全县| 吴忠市| 临湘市| 黄陵县| 株洲市| 柳河县| 班戈县| 竹山县| 松潘县| 滦平县| 乌拉特中旗| 澄江县| 中西区| 广平县| 城步| 滦平县| 清水河县| 苍南县| 铜陵市| 手机| 洛隆县| 南乐县| 赤城县| 屏东县| 怀集县| 临泉县| 秦安县| 和平县| 保定市| 易门县| 平乡县| 固始县| 武威市| 普陀区| 清流县| 清远市| 沙坪坝区| 车险| 隆林| 图木舒克市|