分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

【插件】jQuery.iviewer----图片浏览、放大、缩小、全屏

发布时间:2023-09-06 01:37责任编辑:林大明关键词:jQuery

做项目的时候使用到一个图片浏览的插件jQuery.iviewer,链接地址:http://www.jq22.com/jquery-info4580

效果如下:

但是应用的时候出现不能滚动放大缩小的问题,查看代码的时候发现封装的滚轮判断事件有点问题,返回的delta都为0,然后对jquery.iviewer.js的代码做了一些修改:

1、添加函数addWheelEvent来判断滚动方式

/** ???* ??nomousewheel ???**/ ???// 兼容所有浏览器 ???addWheelEvent: function (obj,efn){ ???????//判断IE8还是非IE8 ???????if(document.addEventListener){ ???????????//火狐还是非火狐 ???????????var oDiv = document.createElement("div"); ???????????if(oDiv.onmousewheel === null){ ???????????????obj.addEventListener("mousewheel",fn,false); ???????????}else{ ???????????????obj.addEventListener("DOMMouseScroll", fn, false); ???????????} ???????}else{ ???????????obj.attachEvent("onmousewheel", fn); ???????} ???????function fn(ev){ ???????????ev = ev || window.event; ???????????var d = ev.wheelDelta/120 || -ev.detail/3; ???????????var rs = efn.call(obj,ev,d); ???????????if(rs === false){//禁止滚动条默认事件 ???????????????ev.preventDefault && ev.preventDefault(); ???????????????return false; ???????????} ???????} ???},

2、修改_create函数中的滚动事件:注释‘mousewheel.iviewer‘方法,改用前面新增的方法addWheelEvent

 if (this.options.mousewheel) { ???????????// this.container.bind(‘mousewheel.iviewer‘, function(ev, delta) ???????????var obj = this.container.get(0);//将jQuery对象转化为DOM对象 ???????????this.addWheelEvent(obj,function(ev,delta)//使用新增方法 ???????????{ ???????????????//this event is there instead of containing div, because ???????????????//at opera it triggers many times on div ???????????????????????????????var zoom = (delta > 0)?1:-1, ???????????????container_offset = me.container.offset(), ???????????????mouse_pos = { ???????????????????//jquery.mousewheel 3.1.0 uses strange MozMousePixelScroll event ???????????????????//which is not being fixed by jQuery.Event ???????????????????x: (ev.pageX || ev.originalEvent.pageX) - container_offset.left, ???????????????????y: (ev.pageY || ev.originalEvent.pageX) - container_offset.top ???????????????}; ???????????????me.zoom_by(zoom, mouse_pos); ???????????????return false; ???????????});

【插件】jQuery.iviewer----图片浏览、放大、缩小、全屏

原文地址:https://www.cnblogs.com/qiuyueding/p/8297654.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved