html5第二天

1.全屏(requestFullscreen)

注意: 存在兼容性問題

<body>
        <input type="button"  value='進入全屏幕'/>
</body>

<script type="text/javascript">
    // query方法 支持 CSS3中的選擇器
    document.querySelector('input[type=button]').onclick = function (e){
        // 標準的語法 就是下面這個
        // ie11 以下 都不支持
        // 由于兼容性問題 以及 瀏覽器自帶了全屏 實際開發(fā)中 使用頻率 較低
        if(this.requestFullscreen){
            this.requestFullscreen();
        }else if(this.webkitRequestFullScreen){
            this.webkitRequestFullScreen()
        }else if(this.msRequestFullscreen){
            this.msRequestFullscreen();
        }else if(this.mozRequestFullScreen){
            this.mozRequestFullScreen();
        }
    }
</script>

解釋:此api有快捷鍵F11可以實現(xiàn),在實際開發(fā)中用的十分少用。

2.文件讀取 (FileReader)##

1. 創(chuàng)建文件讀取對象

var reader = new FileReader();

2.通過當前的file標簽 獲取選擇的文件

console.log(this.files);

3.調(diào)用該對象的方法讀取文件 文件

4.讀取文件是一個耗時操作 不一定什么時候讀取完畢

reader.readAsDataURL(this.files[0]);

// 添加事件
5.耗時操作 通過事件的方式進行注冊 并且回調(diào)

reader.onload = function (){
6.使用讀取完畢的文件

console.log(reader.result);

7.使用返回的結(jié)果 即可

document.querySelector('.iconBox').style.background = 'url('+ reader.result+') no-repeat center/cover';

}

- 實現(xiàn)加載率

//onprogress * 當瀏覽器正在獲取媒介數(shù)據(jù)時運行的腳本帕识。 
reader.onprogress=function(evt){
            var precent=evt.loaded/evt.total;
            // precent=precent.toFixed(4);
            precent=(precent*100).toFixed(2);
            console.log(precent);
            //讀取了多少(加載當前)
            console.log(evt.loaded);
            //一共需要加載多少
            console.log(evt.total);
            document.querySelector("h2").innerHTML=precent+'%';
        }

在onprogress(evt)事件中

//讀取了多少(加載當前)
console.log(evt.loaded);

//一共需要加載多少
console.log(evt.total);

代碼演示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .iconBox{
                width: 200px;
                height: 200px;
                border:5px dashed red;
            }
            .container{
                display: flex;
            }
        </style>
    </head>
    <body>
        <h1>請選擇您的頭像</h1>
        <div class='container'>
            <input type="file"  id="selectFile" />
            <div class='iconBox'></div>
        </div>
        <h2></h2>
    </body>
</html>
<script type="text/javascript">
    document.querySelector('input[type=file]').onchange = function (){
//      console.log('123');
        
        // 創(chuàng)建文件讀取對象
        var reader = new FileReader();
        
        // 通過當前的file標簽 獲取選擇的文件
        console.log(this.files);
        
        // 調(diào)用該對象的方法讀取文件 文件
        // 讀取文件是一個耗時操作 不一定什么時候讀取完畢
        reader.readAsDataURL(this.files[0]);
        
        // 添加事件
        // 耗時操作 通過事件的方式進行注冊 并且回調(diào)
        reader.onload = function (){
            // 使用讀取完畢的文件
            console.log(reader.result);
            //使用返回的結(jié)果 即可
            document.querySelector('.iconBox').style.background = 'url('+ reader.result+') no-repeat center/cover';
        }

        reader.onprogress=function(evt){
            var precent=evt.loaded/evt.total;
            // precent=precent.toFixed(4);
            precent=(precent*100).toFixed(2);
            console.log(precent);
            console.log(evt.loaded);//讀取了多少
            console.log(evt.total);//一共多少
            document.querySelector("h2").innerHTML=precent+'%';
        }
        
        

    }
</script>

3.拖拽事件

鼠標控制元素 ,事件

    ondragstart    |     在拖動操作開端運行的腳本。(開始移動元素) 
    ondrag         |     元素被拖動時運行的腳本缭黔。 (移動元素移動時)
    ondragend      |     在拖動操作末端運行的腳本。(結(jié)束移動元素) 

目標元素(移動到的區(qū)域成為目標元素)事件:

ondragenter    |     當元素元素已被拖動到有效拖放區(qū)域時運行的腳本芽突。(進入目標元素) 
ondragleave    |     當元素離開有效拖放目標時運行的腳本试浙。(離開目標元素) 
ondragover     |     當元素在有效拖放目標上正在被拖動時運行的腳本。(在目標元素內(nèi)移動) 
ondrop         |     當被拖元素正在被拖放時運行的腳本寞蚌。(在目標元素內(nèi)放下) 

注意:

  1. 如果使用ondrop事件田巴,必須在前面先定義使用ondragover事件,否則事件ondrop會無效挟秤。

4.本地存儲(localStorage)和(sessionStorage)

1.文檔源:

截圖20170207161320.png

注意:在使用本地存儲的時候壹哺,只能在同源下使用,不能跨域使用

(跨域的意思是在文檔源中 協(xié)議艘刚,主機名和端口任意一個不同)

2.本地存儲api

//查找數(shù)據(jù)
localStorage.key(i);
sessionStorage.key(i);
//存儲數(shù)據(jù)
localStorage.setItem(key,value);
sessionStorage.setItem(key,value);

//得到數(shù)據(jù)
localStorage.getItem(key);
sessionStorage.getItem(key);

//刪除數(shù)據(jù)
localStorage.removeItem(key);
sessionStorage.removeItem(key);
localStorage.clear();
sessionStorage.clear();


//存儲json數(shù)據(jù)
var obj={name:'hellow'};
JSON.stringify( obj ); //轉(zhuǎn)化成json字符串

var str=JSON.stringify( obj );
JSON.parse( str ); //轉(zhuǎn)化成json對像

存儲json對象的代碼演示:

var  obj={name:'hp'};
var o=JSON.stringify( obj );
// console.log(o);
   window.localStorage.setItem('myColor',o);
 console.log(JSON.parse(window.localStorage.getItem('myColor',obj) ));

5.地理定位(navigator.geolocation)

window.navigator.geolocation.getCurrentPosition(function(position){
})

使用案例:

        window.navigator.geolocation.getCurrentPosition(function(position){
            //console.log(position);
            console.log('位置獲取成功');
            console.log('經(jīng)度:'+position.coords.longitude);
            console.log('緯度:'+position.coords.latitude);
        })

6.視頻api(video)

| 方法 | 屬性 | 事件 |
|---|-----|
| play() | currentSrc | play
|pause() | currentTime | pause
|load() | videoWidth | progress
|canPlayType | videoHeight | error
| | duration | timeupdate
| | ended | ended
| | error | abort
| | paused | empty
| | muted | emptied
| | seeking | waiting
| | volume | loadedmetadata
| | height | null |
| | width | null |

注釋:在所有屬性中管宵,只有 videoWidth 和 videoHeight 屬性是立即可用的。在視頻的元數(shù)據(jù)已加載后攀甚,其他屬性才可用箩朴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市秋度,隨后出現(xiàn)的幾起案子炸庞,更是在濱河造成了極大的恐慌,老刑警劉巖荚斯,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件埠居,死亡現(xiàn)場離奇詭異查牌,居然都是意外死亡,警方通過查閱死者的電腦和手機滥壕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門纸颜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绎橘,你說我怎么就攤上這事胁孙。” “怎么了金踪?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵浊洞,是天一觀的道長。 經(jīng)常有香客問我胡岔,道長法希,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任靶瘸,我火速辦了婚禮苫亦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怨咪。我一直安慰自己屋剑,他們只是感情好,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布诗眨。 她就那樣靜靜地躺著唉匾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匠楚。 梳的紋絲不亂的頭發(fā)上巍膘,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機與錄音芋簿,去河邊找鬼峡懈。 笑死,一個胖子當著我的面吹牛与斤,可吹牛的內(nèi)容都是我干的肪康。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼撩穿,長吁一口氣:“原來是場噩夢啊……” “哼磷支!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起食寡,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤齐唆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后冻河,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箍邮,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年叨叙,在試婚紗的時候發(fā)現(xiàn)自己被綠了锭弊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡擂错,死狀恐怖味滞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钮呀,我是刑警寧澤剑鞍,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站爽醋,受9級特大地震影響蚁署,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蚂四,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一光戈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧遂赠,春花似錦久妆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抑诸,卻和暖如春烂琴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哼鬓。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工监右, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人异希。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓健盒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親称簿。 傳聞我的和親對象是個殘疾皇子扣癣,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • H5 meta詳解 viewport width:控制 viewport 的大小,可以指定的一個值憨降,如果 600父虑,...
    FConfidence閱讀 820評論 0 3
  • 1.全屏(requestFullscreen) 注意: 存在兼容性問題 解釋:此api有快捷鍵F11可以實現(xiàn),在實...
    楓丶筱閱讀 313評論 0 0
  • 個人博客:https://yeaseonzhang.github.io 花了半個多月的時間授药,終于又把“JS紅寶書”...
    Yeaseon閱讀 1,751評論 2 23
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理士嚎,服務(wù)發(fā)現(xiàn)呜魄,斷路器,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 今天,你告訴我笨蚁,下個月2號睹晒,你要結(jié)婚了,我問都有誰去括细,你說時間很尷尬伪很,應(yīng)該沒多少人能到場,我說奋单,不管怎么樣锉试,你結(jié)婚...
    高李李閱讀 509評論 0 2