jquery图片预览插件实现方法详解
前端  /  管理员 发布于 5年前   628
一、需求说明
效果如图:

二、代码实现
项目结构如图:

example.html
LIGHTBOX EXAMPLE ![]()
![]()
mylightbox.css
.white_content { display: none; position: absolute; width: 800px; height: 600px; /*padding: 6px 16px;*/ padding: 0; border: 3px solid rgb(252,252,252, 0.2); background-color: #f5f6f7; z-index:1002; overflow: hidden;}.white_content .con { width: 800px; height: 600px;}.black_overlay { display: none; position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color:#777777; z-index:1001; -moz-opacity: 0.8; opacity:.80; filter: alpha(opacity=80); } .white_content .close { position: relative; float:right; clear:both; width:100%; text-align:right; margin:0; z-index: 10; height: 20px; line-height: 20px; background: white;} .white_content .close a { color:#333; text-decoration:none; font-size:14px; font-weight:700 }jquery-mousewheel.js(兼容鼠标滚轮事件的一个插件)
mylightbox.js
(function($){ var LightBox = function(lightbox) { var _this_ = this; // 保存单个lightbox组件 this.lightbox = lightbox; // 默认配置参数 this.config = { // 弹框的默认高度 "boxHeight" : 600, // 弹框的默认宽度 "boxWidth" : 800, // 页面显示的缩略图默认高度 "thumbnailWidth" : 80, // 页面显示的缩略图默认宽度 "thumbnailHeight" : 80 }; var userConfig = lightbox.config; if (userConfig) { // 如果传入了用户设置,则使用用户设置;否则使用默认配置 $.extend(this.config, userConfig); } var imgObj = lightbox.imgObj; // 需要有图片预览功能的img对象(jquery对象) imgObj.width(this.config.thumbnailWidth).height(this.config.thumbnailHeight); // 设置缩略图大小 // 设置图片点击后显示预览图 imgObj.click(function() { _this_.invoke($(this), _this_.config); }); }; LightBox.prototype = { // 事件驱动方法 invoke : function(imgObj, config) { var _this_ = this; // 存放图片信息的对象 this.imgInfo = this.getImgInfo(imgObj[0].src, config); var promptHtml = '
- 相关文章
- 使用 Alpine.js 排序插件对元素进行排序(0个评论)
- 在js中使用jszip + file-saver实现批量下载OSS文件功能示例(0个评论)
- 在vue中实现父页面按钮显示子组件中的el-dialog效果(0个评论)
- 使用mock-server实现模拟接口对接流程步骤(0个评论)
- vue项目打包程序实现把项目打包成一个exe可执行程序(0个评论)
- 近期文章
- opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus(0个评论)
- Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用(0个评论)
- Apifox桌面端被曝遭供应链投毒:CDN 脚本被篡改,窃取 SSH 密钥与 Git 凭证(0个评论)
- 在go语言中实现字符串可逆性压缩及解压缩功能(0个评论)
- 使用go + gin + jwt + qrcode实现网站生成登录二维码在app中扫码登录功能(0个评论)
- 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
- 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
- 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
- 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
- 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
- 近期评论
-
test1 在
opencode + Oh-my-openagent,我的第一个免费的ai编程智能体管家:Sisyphus中评论
test..
-
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论
工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
-
Zita 在
Google AI Studio升级全栈 vibe coding体验,可直接构建带登录和数据库的应用中评论
111222..
-
123 在
Clash for Windows作者删库跑路了,github已404中评论
按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
-
原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论
好久好久都没看友情链接申请了,今天刚看,已经添加。..
Top
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号
