【总结】【图片预览】手机预览图片插件iSlider使用总结
来源:互联网 发布:阿里云的域名如何备案 编辑:程序博客网 时间:2024/04/28 10:22
开发资源包在这里:
http://download.csdn.net/detail/snow_finland/8763729
其中有官网原始版本和楼主优化过的版本可选择(楼主优化的部分都用注释标出了)
官网地址:
http://be-fe.github.io/iSlider/
需要用到islider时,可以包含islider.js的文件,然后js中做如下调用:
var islider_tpl = '<div class="iSlider" id="J_islider">'+'<div class="preview_toolbar preview_toolbar_top">'+'<a id="J_close_preview" class="icons1 i_close"></a>'+'<div class="user_info_box">'+'<p class="creator"></p>'+'<p class="time"></p>'+'</div>'+'</div>'+'<div id="iSlider-wrapper" class="preview_wrap">'+'</div>'+'<p id="J_islider_loading_more" class="loading_more hide">正在加载更多...</p>'+'</div>';$("#J_file_list .item").die().live('click',function(){var show_current = $(this).index();var window_scroll_top = $(window).scrollTop();$('body').append(islider_tpl);$('#J_file_list').hide();islider = new iSlider({type: 'pic',data: islider_array, // islider_array为arr形式,每一个arr中的obj包含需要用到的信息,比如fileid、content、creatorid、time等等dom: document.getElementById("iSlider-wrapper"),isLooping: true,animateType: 'default',useZoom: true,initIndex: show_current});var prevent_body_move = function(evt){evt.preventDefault();}var prevent_window = document.body;prevent_window.addEventListener('touchmove', prevent_body_move);$('#J_close_preview').die().live('touchstart',function(){islider.destroy();$('#J_islider').remove();prevent_window.removeEventListener('touchmove', prevent_body_move);$('#J_file_list').show();$(window).scrollTop(window_scroll_top);return false;});});
由于代码都比较简单,并且资源包中的注释都非常详细,
这里就提一下开发中碰到过的几个重要的部分:
1、为了良好的用户体验,在出islider的图片预览浮层时,需要将所有body上别的元素隐藏,并且滚轴移动到左上角的地方,屏蔽body的默认move事件,确保屏幕中只有左右滑动,长按保存图片和关闭浮层这几个操作
2、官网中屏幕旋转的事件是监听在元素上的,但是android手机只有window上才能监听到这个事件,ios可以监听在元素上,所以这个部分需要改为监听在window上,以便兼容
3、允许瀑布流方式的加载更多的图片(在预览时),当图片是倒数三张的时候加载更多批次;当正在加载后一批并且这时已经是当前批次的最后一张图时,不允许左右滑动切换图片,并且给出正在加载的提示
4、修复官网代码中,只有一张图片时的加载和左右滑动的事件错误
5、重设了最大和最小的缩放尺寸(官网版本只有最小缩放尺寸)
PS:这是楼主目前用下来最好用的图片预览插件,没有之一,可控性比较强,而且代码比较简短,比较清晰,容易根据个人需要进行改动和添加,并且没有屏蔽浏览器原生的长按保存图片的功能
0 0
- 【总结】【图片预览】手机预览图片插件iSlider使用总结
- 【总结】手机图片预览插件photoswipe使用总结
- 手机端图片预览
- 图片预览插件 fancyBox
- js图片预览插件
- 图片预览插件-photoswpie
- 图片预览插件Viewer
- 图片上传预览js控件开发总结
- html预览手机本地图片
- Jquery 图片预览插件 imgPreview
- jQuery 图片放大预览插件
- JQUERY 图片上传预览插件
- 图片上传本地预览插件
- 图片上传及预览插件
- 本地预览下载图片插件
- 图片上传本地预览插件
- jQuery图片预览插件imgPreview
- 图片上传本地预览插件
- AsyncTask
- 适配器模式(Adapter)
- qt release打包发布
- 感知器的变形-贪心策略处理线性不可分
- APP开发还是应以服务为主
- 【总结】【图片预览】手机预览图片插件iSlider使用总结
- window.open页面关闭后刷新父页面
- ARM GCC中内联汇编语法
- 黑马程序员-java之可变参数
- Javascript中正则表达式详解(转载)
- Apache FileUpload详细介绍
- Codeforces Round #250 (Div. 2) (ABCD题解)
- 多余预留清除方法
- Node.js事件发射器