基于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 相关文章推荐
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
Mar 12 Javascript
小议javascript 设计模式 推荐
Oct 28 Javascript
Js 中debug方式
Feb 07 Javascript
canvas 弹幕效果(实例分享)
Jan 11 Javascript
解决vue页面DOM操作不生效的问题
Mar 17 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
Aug 08 Javascript
5分钟快速掌握JS中var、let和const的异同
Sep 19 Javascript
jquery无缝图片轮播组件封装
Nov 25 jQuery
怎样在vue项目下添加ESLint的方法
May 16 Javascript
tsconfig.json配置详解
May 17 Javascript
用javascript制作qq注册动态页面
Apr 14 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
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
ThinkPHP中Session用法详解
2014/11/29 PHP
浅谈php命令行用法
2015/02/04 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
菜单效果
2006/10/14 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
JavaScript中的this关键字使用详解
2015/08/14 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
详解vue axios中文文档
2017/09/12 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
python实现百度关键词排名查询
2014/03/30 Python
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
简单介绍Python中的decode()方法的使用
2015/05/18 Python
python 反向输出字符串的方法
2018/07/16 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
ddl,dml和dcl的含义
2016/05/08 面试题
广告学专业求职信
2014/06/19 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
Python中requests做接口测试的方法
2021/05/30 Python
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis
纯html+css实现打字效果
2021/08/02 HTML / CSS
i7 6700处理器相当于i5几代
2022/04/19 数码科技