自己写的一款基于移动端的图片浏览器插件
来源:互联网 发布:人工智能图片大全 编辑:程序博客网 时间:2024/06/07 00:32
/** * 基于移动端的图片浏览器 * @author:Arvon * @time:2017-06-02 * @type {{}} */var currIndex = 0;var ImageBrowser = { $images:"", startX:0, moveX:0, releaseX:60, hasDblClicked:false, obj:document.getElementById("img_browser_cnt"), template:"", fillTmpl:function () { this.template = '<div id="img_browser" style="display: none;z-index: 99;position: absolute;left: 0;top: 0;background-color: black" >'+ '<div id="img_browser_index" style="z-index: 100;position: fixed;left: 0;top: 0;margin: 10px 0 0 10px ">'+ ' <a id="a_go_back">返回</a>'+ ' <div style="float:right;margin-left: 20px;">'+ ' <span id="currIndex" style="color:white;"></span><span id="totalIndex" style="color:white;"></span>'+ ' </div>'+ '</div>'+ '<div id="img_browser_cnt" style="vertical-align: middle;background-color: black;" >'+ ' </div>'+ ' </div>'; }, init : function(){ var me = this; me.fillTmpl(); $("body").append(me.template); me.$images = $(".am-figure img"); me.obj = document.getElementById("img_browser_cnt"); $("#totalIndex").text(me.$images.length); me.$images.each(function (i,e) { $(e).click(function () { currIndex = me.$images.index(this) + 1 ; $("#currIndex").text(currIndex+"/"); $("#img_browser_cnt").html(""); $("#img_browser_cnt").append('<span></span><img src="'+this.src+'"/>'); $("#img_browser_cnt").css("height",window.innerHeight); $("#img_browser").show(); $(".new-cont").hide(); $("#img_browser_cnt span").css({height:"100%",display:"inline-block","vertical-align":"middle"}); var i = 0; $("#img_browser img").on('click', function () { $(this).css({width:'100%',height:'auto'}); i++; setTimeout(function () { i = 0; }, 500); if(me.hasDblClicked){ //单击 me.hasDblClicked = false; $(this).css({width:'100%',height:'auto'}); me.obj.addEventListener("touchstart",me.whenTouchStart,false); me.obj.addEventListener("touchmove",me.whenTouchMove,false); } if (i > 1) { //双击 me.whenImageDblClick(this); } }) }); }); $("#img_browser_index #a_go_back").click(function () { $("#img_browser_cnt").html(""); $("#img_browser").hide(); $(".new-cont").show(); }); me.obj.addEventListener("touchstart", me.whenTouchStart,false); me.obj.addEventListener("touchmove",me.whenTouchMove,false); me.obj.addEventListener("touchend",me.whenTouchEnd,false); }, whenTouchStart:function (event) { var touch = event.targetTouches[0]; this.startX = touch.pageX ; this.obj = document.getElementById("img_browser_cnt"); this.obj.addEventListener('touchmove', this.whenTouchMove, false); }, whenTouchMove:function (event) { // 如果这个元素的位置内只有一个手指的话 if (event.targetTouches.length == 1) {// event.preventDefault(); // 阻止浏览器默认事件,重要 var touch = event.targetTouches[0]; this.moveX = touch.pageX - this.startX; } }, whenTouchEnd:function (event) { var me = this; me.releaseX = 60; me.$images = $(".am-figure img"); if(me.moveX<-me.releaseX){ if(currIndex<=me.$images.length-1) currIndex ++; $("#img_browser_cnt img").attr("src",me.$images[currIndex-1].src).css({width:'100%',height:'auto'}); $("#currIndex").text(currIndex+"/"); } if(me.moveX > me.releaseX){ if(currIndex>1) currIndex --; $("#img_browser_cnt img").attr("src",me.$images[currIndex-1].src).css({width:'100%',height:'auto'}); $("#currIndex").text(currIndex+"/"); } me.moveX = 0; me.obj.removeEventListener("touchstart",me.whenTouchStart,false);// obj.removeEventListener("touchmove",whenTouchMove,false); }, whenImageDblClick:function (e) { var me = this; $(e).css("max-width","none"); i = 0; me.hasDblClicked = true; var w = e.width; var h = e.height; $(e).css({width:w*1.5+'px',height:h*1.5+'px'}); me.obj.removeEventListener("touchstart",me.whenTouchStart,false); me.obj.removeEventListener("touchmove",me.whenTouchMove,false); },};
阅读全文
0 0
- 自己写的一款基于移动端的图片浏览器插件
- PrettyPhoto,一款基于Jquery的图片播放插件的使用
- 想起当年自己写的一款游戏
- 自己制作的一款日期插件
- 制作一款简洁实用的图片浏览器
- 自己写的一个基于jquery多级菜单插件
- 一款基于html5的图表插件
- 一款不错的上传图片插件
- 一款基于js的幻灯图片代码
- 基于jq的图片轮播插件,滑动切图,兼容移动,PC端
- Java写的图片浏览器
- 推荐一款移动开发必备的jQuery Mobile插件
- 一款支持IE6 及主流浏览器的UI插件
- 自己写的图片上传
- 自己写的下载图片
- 如何设计一款基于ROS的移动机器人?
- 推荐移动应用:群落(Groupcells)——全球第一款基于图片组的近场社交电子商务平台
- 移动应用:群落(Groupcells)——全球第一款基于图片组的近场社交电子商务平台
- 多尺度血管增强滤波
- 浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
- c运行库、c标准库、windows API都是什么玩意
- C语言中的nan和inf 的判断和使用
- redis分布式锁实现
- 自己写的一款基于移动端的图片浏览器插件
- tomcat8 编写字符编码Filter过滤器无效问题
- Android 微信分享链接部分手机无法成功分享
- SuperMap iMobile for Android许可配置介绍
- HDU2577
- Android 中 c 代码回调Java代码的详细步骤(jni、NDK的使用)
- 图片的压缩
- 面试题目3:二维数组中的查找
- Win7 64位+VS2010+OpenCV2.4.9环境配置