這篇文章給大家分享的是有關(guān)如何基于zepto.js實現(xiàn)手機相冊功能的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
洪江網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
1、js屬于一種解釋性腳本語言;2、在絕大多數(shù)瀏覽器的支持下,js可以在多種平臺下運行,擁有著跨平臺特性;3、js屬于一種弱類型腳本語言,對使用的數(shù)據(jù)類型未做出嚴格的要求,能夠進行類型轉(zhuǎn)換,簡單又容易上手;4、js語言安全性高,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互,從而有效地防止數(shù)據(jù)的丟失;5、基于對象的腳本語言,js不僅可以創(chuàng)建對象,也能使用現(xiàn)有的對象。
實現(xiàn)代碼如下:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <!-- <meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no"/> --> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0"/> <title>photo</title> <link rel="stylesheet" href="animate.css"/> <script src="zepto.min.js"></script> <style type="text/css"> blockquote,body,button,dd,dl,dt,fieldset,form,h2,h3,h4,h5,h6,h7,hr,input,legend,li,ol,p,pre,td,textarea,ul,li,img{ margin: 0; padding: 0; } .clearfix::before,.clearfix::after{ content:""; height: 0; line-height: 0; display: block; visibility: hidden; clear: both; } body{ background-color: black;overflow: hidden; } ul{ list-style: none; } .container li{ float: left; overflow: hidden; } .large{ height: 100%; width: 100%; position: absolute; left: 0; top: 0; background-color: black; } </style> </head> <body> <ul class="container clearfix" id="container"> </ul> <div class="large animated fadeInDown" id="large_container" > <img id="large_img" /> </div> <script> var num=17; var zWin=$(window); var render=function(){ var padding=2; var winWidth=zWin.width(); var picWidth=Math.floor((winWidth-padding*3)/4); var tmpl=""; for (var i = 1; i <=num; i++) { var p = padding; var imgSrc='img/'+i+'.jpg'; if (i%4==1) { p=0; } tmpl+='<li class="animated bounceIn" data-id="'+i+'" ><canvas id="cvs_'+i+'"></canvas></li>' var imageObj=new Image(); imageObj.index=i; imageObj.onload=function () { var cvs = $('#cvs_'+this.index)[0].getContext('2d'); cvs.width=this.width; cvs.height=this.height; cvs.drawImage(this,0,0); } imageObj.src=imgSrc; } $("#container").html(tmpl); } render(); var wImage = $('#large_img'); var domImage = wImage[0]; //image對象的DOM應(yīng)用 var loadImg = function (id,callback) { $('#container').css({height:zWin.height(),'overflow':'hidden'}) // $('#container').css({'display':'none'}) $('#large_container').css({ width:zWin.width(), height:zWin.height() }).show(); //加載大圖 var imgsrc = 'img/'+id+'.large.jpg'; var imageObj = new Image(); imageObj.onload = function () { var w = this.width; //圖片的寬高 var h = this.height; var winWidth = zWin.width(); //window的寬高 var winHidth = zWin.height(); var realw = winHidth*w/h; var paddingLeft = parseInt((winWidth - realw)/2); var realh = winWidth*h/w; var paddingTop = parseInt((winHidth - realh)/2); //橫圖和豎圖切換時需要重置大圖的css樣式 wImage.css('width','auto').css('height','auto'); wImage.css('padding-left','0px').css('padding-top','0px'); //計算圖片的寬高比,判斷是橫圖還是豎圖 if (h/w>1.2) { //圖片顯示出來 wImage.attr('src',imgsrc).css('height',winHidth).css('padding-left',paddingLeft) }else{ wImage.attr('src',imgsrc).css('width',winWidth).css('padding-top',paddingTop) } callback&&callback(); } imageObj.src = imgsrc; } var cid; //給LI做事件綁定; $('#container').delegate('li','tap',function(){ var _id = cid = $(this).attr('data-id') loadImg(_id) }); //點擊大圖,返回相冊 $('#large_container').tap(function() { $('#container').css({height:'auto','overflow':'auto'}) // $('#container').css({'display':'block'}) $(this).hide(); }).swipeLeft(function(){ cid++; if(cid>num){ cid = num; }else{ loadImg(cid,function(){ //事件監(jiān)聽 domImage.addEventListener('webkitAnimationEnd',function(){ //動畫結(jié)束之后執(zhí)行函數(shù) wImage.removeClass('animated bounceInRight'); domImage.removeEventListener('webkitAnimationEnd') },false) //控制事件是否冒泡用false參數(shù) wImage.addClass('animated bounceInRight'); }); } }).swipeRight(function(){ cid--; if(cid<1){ cid = 1; }else{ loadImg(cid,function(){ domImage.addEventListener('webkitAnimationEnd',function(){ wImage.removeClass('animated bounceInLeft'); domImage.removeEventListener('webkitAnimationEnd') },false) wImage.addClass('animated bounceInLeft'); }); } }) </script> </body> </html>
感謝各位的閱讀!關(guān)于“如何基于zepto.js實現(xiàn)手機相冊功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網(wǎng)站名稱:如何基于zepto.js實現(xiàn)手機相冊功能
本文來源:http://jinyejixie.com/article10/ppepdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、移動網(wǎng)站建設(shè)、品牌網(wǎng)站制作、服務(wù)器托管、網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)