1.基于hammer做的一个防图库的图片浏览器。可以实现放大缩小、拖拽、手势切换等功能。
2.不到300行的简单粗暴的代码很容易理解,不满足于效果可以自己修改。
3.支持requireJS,可以模块化引入。
4.请使用手机浏览器体验效果,这里提供一个二维码:
1.实测各种千元以内的手机上都不怎么流畅,2000+的机还可以
2.实测有些手机浏览器有BUG
3.需要在你的样式里面加一些样式
4.实现的效果可能与你的想象的有些出入,如果不符,可能需要你自己修改下代码
在合适的地方加入如下CSS样式,不满意就自行修改下:
.iw_container{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
font-size: 1.8em;
display: none;
}
.iw_container .iw_header,
.iw_container .iw_footer{
position: absolute;
display: block;
background-color: #4b4b4b;
color: #fff;
padding: 0;
margin: 0;
opacity: 0.5;
height: 2em;
line-height: 2em;
width: 100%;
z-index:999;
text-align: center;
overflow: hidden;
}
.iw_container .iw_header .iw_close{
padding-left: 0.5em;
float: left;
}
.iw_container .iw_header .iw_title{
display: block;
height: 100%;
margin-left: 20%;
overflow: hidden;
position: absolute;
text-align: center;
width: 60%;
}
.iw_container .iw_footer{
bottom: 0;
text-align:center;
}
.iw_container .iw_footer div{
height: 100%;
width: 49%;
text-align:center;
color: #ffffff;
display: inline-block;
border-left: 1px solid #D1D1D1;
}
.iw_container .iw_footer div.iw_frist{
border-left: none;
}
.iw_container .iw_wall{
background-color: #666666;
height: 100%;
width: 100%;
overflow: hidden;
}
.iw_container .iw_wall .iw_wall_ct{
height: 100%;
display: block;
}
.iw_container .iw_wall .iw_wall_ct .iw_img{
float: left;
height: 100%;
overflow: hidden;
}
.iw_container .iw_wall .iw_wall_ct .iw_img div{
background-size:contain;
background-position: center center ;
background-repeat: no-repeat;
height: 100%;
width: 100%;
}
在合适的地方引入脚本
<script src="hammer.min.js" type="text/javascript"></script>
<script src="ImgWall.js" type="text/javascript"></script>
创建对象ok
var imgWall = new ImgWall(config);
config以对象的方式导入
Config配置:
* id : 容器ID
* data : 图片数据:必须传数组至少包括图片地址
* scale : 是否可放大缩小,默认true
* rotate : 是否可旋转,默认false,只有开启scale的情况下才能开启rotate
* evt_Open : 打开时的方法,也可以通过onOpen(fn)设置
* evt_Close : 关闭时的方法,也可以通过onBack(fn)设置
* evt_Switch : 切换时的方法,也可以通过onSwitch(fn)设置
* auto_open : 是否自动打开,默认为true
比如最简单的,只传一张图片: var imgWall = new ImgWall({data:[{imgUrl:'xxx.jpg'}]});
http://test.xdnote.com/javascripts/hammer.min.js
http://test.xdnote.com/javascripts/ImgWall.js
http://test.xdnote.com/javascripts/ImgWall.min.js