亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery實現簡單的圖片查看器

2019-11-20 10:53:33
字體:
來源:轉載
供稿:網友

項目中自己diy了一個圖片查看器。因為初始代碼不是自己的,只是在上面改了一下也沒有弄的很漂亮。等以后有時間了在重寫一下樣式和封裝,作為備用的只是積累吧。如果有童鞋有用到,完全可以在此基礎上改,比較容易,代碼也比較簡單

圖片查看器主要有幾個功能:

  1.顯示圖片和圖片信息(圖片名稱、發布者等等)

  2.切換圖片

  3.關閉圖片查看器

初始化接口函數pictureViewer.init: function(picInfos,tapNumber,isBig)

picInfos: 傳入圖片組信息,必須,格式如下 var picInfos = [  {   "url" : "default.png",   "data": [   {    "key":"名稱:",    "value":"測試圖片"   },   {    "key":"發布者:",    "value":"chua"   }   ]  },  {   "url" : "test.jpeg",   "data": [   {    "key":"名稱",    "value":"測試圖片"   },   {    "key":"發布者:",    "value":"發大水發大水發順風h"   },   {    "key":"這個圖片的其他信息",    "value":"vsfsgsdgfds234323424"   }   ]  },  ... ] //傳入參數的樣式 

tapNumber: 要顯示的圖片在圖片列表中的索引,必須,從0開始
isBig:是否使用大圖查看,默認是false,可選
html及css源碼如下(后面有一個例子)

<!DOCTYPE html><html lang="ch-cn"> <head>  <meta charset="utf-8">  <script type="text/javascript" src='jquery-1.9.1.js'></script> <link rel="stylesheet" type="text/css" href="imgTap.css"> <script type="text/javascript" src='imgTap.js'></script> <style type="text/css"> html,body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, p, blockquote, th, td{  margin: 0;  padding:0; } *{  -webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  box-sizing: border-box; } body{  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } .imgTapDetail {  display: none;  position: absolute;  z-index: 2000;  top: 0;  width: 100%;  height: 100%;  background: none transparent scroll repeat 0% 0%;  color: #000 !important; } .page-secShadow {  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  background: #000;  background-color: rgba(0,0,0,.3);  filter: alpha(opacity=50); } .page-shadowContent {  width: 40%;  margin: 0 auto;  margin-top: 20%;  position: relative !important;  min-width: 400px; } .page-shadowContent.widget-big{ } .leftTap, .rightTap {  margin-top: 50%;  width: 80px;  height: 80px;  border-radius: 50%;  position: absolute;  top: -80px;  cursor: pointer; } .leftTap {  left: -30%;  background: url("imgTap.png") 0 0 no-repeat; } .rightTap {  right: -30%;  background: url("imgTap.png") -80px 0 no-repeat; } .closeTap {  width: 60px;  height: 60px;  border-radius: 50%;  position: absolute;  right: -30px;  top: -30px;  cursor: pointer;  background: url("imgTap.png") 0 -165px no-repeat;  z-index: 99; } .widget {  padding: 0 5px;  -webkit-box-shadow: none;  -moz-box-shadow: none;  box-shadow: none;  margin: 3px 0 10px 0; } .widget-body {  background-color: #fff;  -webkit-box-shadow: 1px 0 10px 1px rgba(0,0,0,.3);  -moz-box-shadow: 1px 0 10px 1px rgba(0,0,0,.3);  box-shadow: 1px 0 10px 1px rgba(0,0,0,.3);  padding: 12px; } .page-shadowContent .widget-body {  min-height: 200px;  padding: 15px!important;  border: 1px solid #ccc;  overflow: hidden; } .widget-body .row {  margin-right: -10px !important;  margin-left: -10px !important; } .imgShow {  text-align: center;  height: 400px;  padding-left: 10px;  padding-right: 10px;  /*background: url(default.png) center no-repeat;*/ } #tapContent{  padding-left: 10px;  padding-right: 10px; } .imgContent {  max-width: 400px;  max-height: 400px;  vertical-align: middle; } .widget-body img {  max-width: 100%;  height: auto!important; } .imgShow > span {  height: 100%;  display: inline-block;  vertical-align: middle; }  .imgTapDetail .form-group {  overflow: hidden;  margin-bottom: 0 !important;  position: relative;  min-height: 34px; } .widget-detail .form-group .detail-LabelStyle {  float: left;  padding-left: 5px;  /* max-width: 50%; */  text-align: left;  line-height: 34px!important;  color: rgb(115, 115, 115);  padding-right: 5px;  height: 34px;  overflow: hidden;  left: 0;  top: 0; } .widget-detail .form-group .detail-SpanStyle {  padding: 8px 0 6px 5px;  line-height: 20px;  width: auto;  height: auto!important;  min-height: 34px;  float: left;  /* margin-left: 80px; */  word-break: break-all; } .widget-big {  width: 80%;  min-width: 300px; } .widget-big .leftTap{  left: -10%; } .widget-big .rightTap{  right: -10%; } .widget-big .widget-detail{  padding: 40px 0; } .widget-big .imgShow{  min-height: 500px; } .widget-big .imgShow img{  max-width: 800px;   max-height: 550px; } </style> </head> <body > <div class="imgTapDetail"></div> <script type="text/javascript"> var picInfos = [  {  "url" : "default.png",  "data": [   {   "key":"名稱:",   "value":"測試圖片"   },   {   "key":"發布者:",   "value":"chua"   }  ]  },  {  "url" : "test.jpeg",  "data": [   {   "key":"名稱",   "value":"測試圖片"   },   {   "key":"發布者:",   "value":"發大水發大水發順風h"   },   {   "key":"這個圖片的其他信息",   "value":"vsfsgsdgfds234323424"   }  ]  } ]  pictureViewer.init(picInfos,0,true); </script> </html>

js的源碼如下

pictureViewer = { picInfos: [], curPicIndex: 0, isBig:false,//大圖查看?默認為false。默認圖片顯示區域為window寬度的40%,大圖為80% imgTapSelector:".imgTapDetail", init: function(picInfos,tapNumber,isBig){  var _this = this;  _this.picInfos = picInfos;  _this.curPicIndex = tapNumber;  _this.isBig = isBig;  tapImgInit();    //圖片查看器初始化  function tapImgInit(){   //頁面代碼和事件只需要初始化一次即可   if(!_this.guid){    _this.guid = 1;    initTapImgHtml();    $(document).on("click","#rightTap",function(){     _this.curPicIndex++;     if(_this.curPicIndex == _this.picInfos.length){      _this.curPicIndex = 0;     }     $("#tapContent").html("")     tapImg()    }).on("click","#leftTap",function(){     _this.curPicIndex--;     if(_this.curPicIndex < 0){      _this.curPicIndex = _this.picInfos.length-1;     }     $("#tapContent").html("")     tapImg();    }).on("click","#closeTap",function(){     $(_this.imgTapSelector).hide("fast")    })   }   var offTop = top.document.body.scrollTop || top.document.documentElement.scrollTop;   $('#imgTapPanel').css("margin-top",_this.isBig?(offTop>30?offTop:30):offTop + 100)   tapImg();   $(_this.imgTapSelector).show("fast");  }  //初始化圖片查看器的html代碼  function initTapImgHtml(){   var $detailText = '<div class="page-secShadow" >'    + '<div id="imgTapPanel" class="page-shadowContent '+(_this.isBig?"widget-big":"")+'">'    + '<div id="leftTap" class="leftTap"></div>'    + '<div id="rightTap" class="rightTap"></div>'    + '<div id="closeTap" class="closeTap"></div>'    + '<div class="widget row"><div class="widget-body">'    + '<div class="widget-detail row">'    + '<div class="imgShow">'    + '<img src="logo.png" id="tapImg" class="imgContent"><span></span>'    + '</div>'    + '<div id="tapContent"></div>'    + '</div></div></div></div></div>';        $(_this.imgTapSelector).html($detailText);   hoverButton("#leftTap", 0, 0, 0, "-80px");   hoverButton("#rightTap", "-80px", 0, "-80px", "-80px");   hoverButton("#closeTap", 0, "-165px", "-60px", "-165px");  }  //添加左右切換圖標、關閉圖標的hover響應事件。這個其實可以起到css中更好一些  function hoverButton(id, x, y, A, B){   $(id).hover(function(){    $(this).css('background-position', A + ' '+ B)   },function(){    $(this).css('background-position', x + ' '+ y)   })  }  //刷新當前圖片及圖片信息  function tapImg(){   var reg = /[::]$/,   leftTap = $("#leftTap"),   rightTap = $("#rightTap"),   imgTap = $("#tapImg"),   contentTap = $("#tapContent");   leftTap.css("display","block");   rightTap.css("display","block");   if(_this.picInfos.length == 1){    leftTap.css("display","none");    rightTap.css("display","none");   }   imgTap.attr("src",_this.picInfos[_this.curPicIndex].url);   var data = _this.picInfos[_this.curPicIndex].data,   dataLength = data.length,   $text = "";   for(var i=0; i<dataLength; i++){    $text += '<div class="form-group">'     + '<label class="detail-LabelStyle">'+data[i].key.replace(reg,"")+':</label>'     + '<span id="spanLoginName" class="detail-SpanStyle">'+data[i].value+'</span>'     + '</div>';   };   contentTap.empty().append($text);   setTimeout(function(){    if(_this.isBig && imgTap.height() > 400){     imgTap.parent().attr("style","height:inherit");    }else{     imgTap.parent().removeAttr("style");    }   },1);  } }}

希望本文所述對大家學習javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品日韩欧美大师| 国产精品久久久久久久久久三级| 66m—66摸成人免费视频| 亚洲欧洲在线看| 中文字幕日韩在线视频| 欧美中文字幕在线视频| 欧美中文字幕在线播放| 日韩最新免费不卡| 国产精品吊钟奶在线| 精品女同一区二区三区在线播放| 日韩av123| 欧美乱人伦中文字幕在线| 日韩欧美在线播放| 日韩有码在线观看| 日韩欧中文字幕| 欧美性20hd另类| 91极品女神在线| 亚洲国产欧美一区二区三区久久| 国产成人精品久久二区二区| 亚洲欧美一区二区激情| 国产精品高潮在线| 日韩高清免费在线| 久久香蕉精品香蕉| 久久久久久久久国产| 久久久久中文字幕| 国产精品免费久久久久影院| 国产精品入口免费视| 国产精品高清免费在线观看| 4k岛国日韩精品**专区| 久久久久久噜噜噜久久久精品| 欧美另类69精品久久久久9999| 亚洲mm色国产网站| 欧美理论在线观看| 岛国av一区二区在线在线观看| 国产精品青青在线观看爽香蕉| 国产男女猛烈无遮挡91| 最近2019中文字幕大全第二页| 97av在线视频免费播放| 91精品国产综合久久香蕉922| 亚洲天堂av在线免费观看| 日韩美女毛茸茸| 亚洲男人天堂手机在线| 中文字幕无线精品亚洲乱码一区| 精品国产区一区二区三区在线观看| 国产视频丨精品|在线观看| 国产精品久在线观看| 欧美精品久久久久久久免费观看| 日韩精品中文字幕在线播放| 日韩福利视频在线观看| 国产视频久久久| 俺去啦;欧美日韩| 久久九九热免费视频| 欧美日韩国产区| 国产精品一区久久久| 欧美一区二区影院| 中文字幕日韩有码| 国内精品视频久久| 国产精品福利网| 九九久久综合网站| 日韩乱码在线视频| 国产精品视频久久久久| 亚洲欧美中文日韩在线| 欧美成人午夜激情| 久久99国产综合精品女同| 欧美床上激情在线观看| 青青草99啪国产免费| 精品少妇一区二区30p| 国产美女精品视频免费观看| 国产精品黄页免费高清在线观看| 国产亚洲精品一区二区| 亚洲精品视频久久| 欧美日韩美女在线| 久久精品99久久久香蕉| 亚洲香蕉成人av网站在线观看| 亚洲丁香久久久| 亚洲国产成人精品一区二区| 国产成人avxxxxx在线看| 国产成人aa精品一区在线播放| 国产一区二区日韩精品欧美精品| 一本一道久久a久久精品逆3p| 国产在线播放91| 黑人极品videos精品欧美裸| 91久久中文字幕| 亚洲乱码一区av黑人高潮| 亚洲欧美日韩一区在线| 久久香蕉国产线看观看网| 国产自产女人91一区在线观看| 久久久久久999| 成人免费福利在线| 成人在线视频网| 亚洲国产美女精品久久久久∴| 97视频在线观看视频免费视频| 国产福利精品视频| 一个人看的www久久| 久久久久久有精品国产| 国产suv精品一区二区三区88区| 97精品国产97久久久久久免费| 欧美在线国产精品| 亚洲国产精品字幕| 欧美激情精品在线| 久久久噜噜噜久久久| 91亚洲永久免费精品| 国产精品青草久久久久福利99| 97欧美精品一区二区三区| 欧美日产国产成人免费图片| 亚洲色图色老头| 91九色单男在线观看| 欧美视频一区二区三区…| 中文字幕日韩有码| 国产原创欧美精品| 亚洲综合精品伊人久久| 91国产高清在线| 日本精品久久久| 欧美成人激情视频免费观看| 国产不卡精品视男人的天堂| 日韩高清有码在线| 精品少妇一区二区30p| 午夜精品美女自拍福到在线| 91久久精品国产91性色| 国产精品免费小视频| 日韩在线观看网站| 亚洲人成在线一二| 亚洲最大福利网| 欧美国产日韩一区二区| 国产精品丝袜久久久久久不卡| 久久中国妇女中文字幕| 久久久国产视频| 成人精品一区二区三区| 亚洲天堂一区二区三区| 欧美日韩国产一区二区三区| 亚洲美女www午夜| 亚洲黄一区二区| 国产精品视频在线观看| 国内精久久久久久久久久人| 不卡在线观看电视剧完整版| 欧美成人精品影院| 国产成人精品av在线| 91精品国产综合久久香蕉的用户体验| 欧美日韩国产中文字幕| 亚洲国产精品小视频| 日韩一区二区三区国产| 午夜精品久久久久久99热软件| 亚洲欧美制服丝袜| 亚洲黄色免费三级| 国产精品一区二区av影院萌芽| 亚洲国产日韩欧美在线图片| 国产精品亚洲美女av网站| 久久天堂电影网| 欧美大片免费观看在线观看网站推荐| 欧美日韩激情小视频| 国产一区二区三区免费视频| 国外成人免费在线播放| 成人久久18免费网站图片| 久久久国产成人精品| 影音先锋欧美在线资源| 亚洲欧美日韩视频一区| 欧美激情视频三区| 欧美性猛交xxxx| 欧美性高跟鞋xxxxhd| 日韩精品免费综合视频在线播放| 国产精品ⅴa在线观看h| 亚洲成人久久一区| 中文字幕日韩在线视频| 韩日精品中文字幕|