基于jquery实现放大镜效果


Posted in Javascript onAugust 17, 2015

各大商城详细页面产品图片特效展示,鼠标滑过小图显示中图,鼠标滑过中图显示大图展示,jquery放大镜效果图片类似图片放大镜展示,提高用户体验设计,jquery 图片放大镜效果是典型的一款图片特效展示。

效果图如下:

基于jquery实现放大镜效果

图片大框初始样式:

<div class="goods-imginfo-bimg-box" style="background-image: url(http://www.od.my/images/201507/thumb_img/142_thumb_P_1435792664520.jpg); position: relative;"></div>

添加放大区域框和放大效果框

picBox=$('.goods-imginfo-bimg-box');
picBox.css('position','relative');
picBox.append('<div class="mag-sbox"></div>');
picBox.append('<div class="mag-box"></div>');

添加样式表

$("head").append('<link rel="stylesheet" type="text/css" href="themes/od/css/mag.css">');

样式

@CHARSET "UTF-";
 .mag-sbox{position: absolute;border: px solid #fff;background-color: rgba(,,,.);cursor: crosshair;z-index: ;display: none;}
 .mag-box{position: absolute;left: %;top:;margin-left: px;border:px solid #ccc;width: %;height:%;
 background-size: cover;background-color: #fff;z-index: ;display: none;
 }
js
 /*
 * 放大镜效果 
 * 不改变前面的代码
 * 添加放大镜效果
 * 给 goods-imginfo-bimg-box;
 * */
 $("head").append('<link rel="stylesheet" type="text/css" href="themes/od/css/mag.css">');
 picBox=$('.goods-imginfo-bimg-box');
 picBox.css('position','relative');
 picBox.append('<div class="mag-sbox"></div>');
 picBox.append('<div class="mag-box"></div>');
 msBox=$('.mag-sbox');
 mBox=$('.mag-box');
 bs=; //倍数
 msBox.css({width:picBox.width()/+'px',height:picBox.height()/+'px'});
 mBox.css({'backgroundSize':bs*+'%'});
 picBox.mousemove(function(e){
  mBox.css('backgroundImage',$(this).css('backgroundImage')); //给大图背景
  if(msBox.css('display')!='block'){ //鼠标放上去,出现范围框和效果框
  msBox.show();
  }
  if(mBox.css('display')!='block'){
  mBox.show();
  }
  /* 鼠标移动 */
  xleft=e.pageX-picBox.offset().left-msBox.width()/;
  if(xleft<){
  xleft=;
  }else if(xleft>picBox.width()-msBox.width()){
  xleft=picBox.width()-msBox.width();
  }
  xtop=e.pageY-picBox.offset().top-msBox.height()/;
  if(xtop<){
  xtop=;
  }else if(xtop>picBox.height()-msBox.height()){
  xtop=picBox.height()-msBox.height();
  }
  msBox.css({'left': xleft+'px','top': xtop+'px'});
  mBox.css({'backgroundPosition':-bs*xleft+'px '+-bs*xtop+'px'});
 });
 picBox.mouseout(function(){
  msBox.hide();
  mBox.hide();
 });

以上代码就是基于jquery实现放大镜效果,希望大家喜欢。

Javascript 相关文章推荐
Javascript跨域请求的4种解决方式
Mar 17 Javascript
javascript中不提供sleep功能如何实现这个功能
May 27 Javascript
JavaScript中的anchor()方法使用详解
Jun 08 Javascript
jQuery实现提示密码强度的代码
Jul 15 Javascript
vue监听滚动事件实现滚动监听
Apr 11 Javascript
详解用Node.js写一个简单的命令行工具
Mar 01 Javascript
JS的函数调用栈stack size的计算方法
Jun 24 Javascript
JSON基本语法及与JavaScript的异同实例分析
Jan 04 Javascript
微信小程序实现滑动操作代码
Apr 23 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
Jul 20 Javascript
原生JavaScript实现幻灯片效果
Feb 19 Javascript
微信小程序 WeUI扩展组件库的入门教程
Apr 21 Javascript
js实现浏览本地文件并显示扩展名的方法
Aug 17 #Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
Aug 17 #Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 #Javascript
js实现表单Radio切换效果的方法
Aug 17 #Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
Aug 17 #Javascript
jquery动感漂浮导航菜单代码分享
Apr 15 #Javascript
JavaScript判断表单中多选框checkbox选中个数的方法
Aug 17 #Javascript
You might like
Terran历史背景
2020/03/14 星际争霸
Smarty变量调节器失效的解决办法
2014/08/20 PHP
PHP中feof()函数实例测试
2014/08/23 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
js 实现 input type=&quot;file&quot; 文件上传示例代码
2013/08/07 Javascript
jQuery中[attribute^=value]选择器用法实例
2014/12/31 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
vuejs2.0实现一个简单的分页示例
2017/02/22 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
微信小程序使用字体图标的方法
2019/05/23 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
跟老齐学Python之模块的加载
2014/10/24 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
用pytorch的nn.Module构造简单全链接层实例
2020/01/14 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
ddl,dml和dcl的含义
2016/05/08 面试题
Shell如何接收变量输入
2012/09/24 面试题
新闻专业大学生找工作的自我评价
2013/10/30 职场文书
工作中个人的自我评价
2013/12/31 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
mysql自增长id用完了该怎么办
2022/02/12 MySQL
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL