基于jQuery的一个简单的图片查看器_html/css_WEB-ITnose
程序员文章站
2022-05-04 09:45:51
...
项目中自己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源码如下(后面有一个例子)
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 30?offTop:30):offTop + 100) tapImg(); $(_this.imgTapSelector).show("fast"); } //初始化图片查看器的html代码 function initTapImgHtml(){ var $detailText = '' + ''; $(_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' + '' + '' + '' + '' + '' + ''+data[i].value+'' + '
推荐阅读
-
基于Jquery实现的一个图片滚动切换
-
基于jquery创建的一个图片、视频缓冲的效果样式插件
-
requireJS在同一个HTML/JSP页面,加载不同版本的jquery_html/css_WEB-ITnose
-
请问一个简单的问题_html/css_WEB-ITnose
-
请问一个简单的问题_html/css_WEB-ITnose
-
从零开始一步一步写一个简单的 Virtual DOM 实现 2 :Props&Event 处理_html/css_WEB-ITnose
-
小试牛刀2:制作一个简单的层次页面_html/css_WEB-ITnose
-
一个很简单的HTML运行机制问题。_html/css_WEB-ITnose
-
从零开始一步一步写一个简单的 Virtual DOM 实现 2 :Props&Event 处理_html/css_WEB-ITnose
-
用Html写一个简单的登陆界面_html/css_WEB-ITnose