html部分

//小图
<div id="photoBox">
<img src="图片路径" width="400" height="400">
<div id="dow"></div>
</div>
//大图
<div id="bigPhotoBox"></div>

css部分

#photoBox {
border: 1px solid #ccc;
//小图位置,这里改
position: absolute;   } #photoBox img {
display: block;
} #dow {
width: 100px;
height: 100px;
background-color: rgba(0, 0, 0, 0.6);
position: absolute;
display: none;
} #bigPhotoBox {
display: none;
border: 1px solid #ccc;
background-repeat: no-repeat;
background-color: #fff;
width: 400px;
height: 400px;
  //大图位置,这里改
  position: absolute;
  top:; 
  left: 400px; }

js部分

//小图id
$("#photoBox").Magnifier({
//大图id
renderTo: "#bigPhotoBox",
});

jq插件部分

(function($) {
$.fn.Magnifier = function(setting) {
if(setting && setting.renderTo) {
if(typeof(setting.renderTo) == "string") {
setting.renderTo = $(setting.renderTo);
}
} else {
return;
} var x, y, set;
this.on("mousemove", function(event) {
x = event.pageX - 50;
y = event.pageY - 50;
//阴影框实际移动范围
if(x > 0 && x < 300 && y > 0 && y < 300) {
set = x / 3 + "% " + y / 3 + "%";
setting.renderTo.css({
backgroundPosition: set
});
$("#dow").css({
top: y,
left: x,
})
}
if(y <= 300 && y >= 0) {
if(x < 0) {
set = 0 + "% " + y / 3 + "%";
setting.renderTo.css({
backgroundPosition: set
});
$("#dow").css({
top: y,
left: 0,
})
}
if(x > 300) {
set = 100 + "% " + y / 3 + "%";
setting.renderTo.css({
backgroundPosition: set
});
$("#dow").css({
top: y,
left: 300,
})
}
}
if(x <= 300 && x >= 0) {
if(y < 0) {
set = x / 3 + "% " + 0 + "%";
setting.renderTo.css({
backgroundPosition: set
});
$("#dow").css({
top: 0,
left: x,
})
}
if(y > 300) {
set = x / 3 + "% " + 100 + "%";
setting.renderTo.css({
backgroundPosition: set
});
$("#dow").css({
top: 300,
left: x,
})
}
}
});
//鼠标移入移出效果
this.hover(function() {
setting.renderTo.css({
display: "block",
backgroundImage: "url(" + $("#photoBox img").attr("src") + ")"
});
$("#dow").css({
display: "block"
})
}, function() {
setting.renderTo.css({
display: "none"
});
$("#dow").css({
display: "none"
})
});
}
})(jQuery);

一时兴起写了这个插件,用的时候倒是简单,只需引入JQ插件再加上写少量JS代码代码就行了,大小图片的位置可以在CSS里改,唯一麻烦的是,图片宽高的更改问题,图片的宽高是400px的固定值,如果图片不是正方形,图片会失真;且CSS里面是这么写的,JQ里也是,由于这个数值涉及到阴影框的移动范围,改起来比较麻烦。所以就先这样吧,等以后有时间再优化优化。

jq仿淘宝放大镜插件的更多相关文章

  1. JavaScript仿淘宝实现放大镜效果的实例

    我们都知道放大镜效果一般都是用于一些商城中的,列如每当我们打开淘宝,天猫等pc端时,看到心仪的物品时,点击图片时,便呈现出放大镜的效果.在没有去理解分析它的原理时,感觉非常的神奇,当真正地去接触,也是 ...

  2. 基于Bootstrap仿淘宝分页控件实现

    .header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { t ...

  3. 仿淘宝头像上传功能(三)——兼容 IE6 浏览器。

    前两篇目录: 仿淘宝头像上传功能(一)——前端篇. 仿淘宝头像上传功能(二)——程序篇. 仿淘宝头像上传功能(三)——兼容 IE6 浏览器 之前的这两篇虽然实现了功能,但不兼容低版本浏览器,而且有些浏 ...

  4. Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片

    Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...

  5. jquery仿淘宝规格颜色选择效果

    jquery实现的仿淘宝规格颜色选择效果源代码如下 jquery仿淘宝规格颜色选择效果 -收缩HTML代码 运行代码 [如果运行无效果,请自行将源代码保存为html文件运行] <script t ...

  6. 高仿淘宝和聚美优品商城详情页实现《IT蓝豹》

    高仿淘宝和聚美优品商城详情页实现 android-vertical-slide-view高仿淘宝和聚美优品商城详情页实现,在商品详情页,向上拖动时,可以加载下一页. 使用ViewDragHelper, ...

  7. android版高仿淘宝客户端源码V2.3

    android版高仿淘宝客户端源码V2.3,这个版本我已经更新到2.3了,源码也上传到源码天堂那里了,大家可以看一下吧,该应用实现了我们常用的购物功能了,也就是在手机上进行网购的流程的,如查看产品(浏 ...

  8. 一款基于jQuery仿淘宝红色分类导航

    今天给大家分享一款基于jQuery仿淘宝红色分类导航.这款分类导航适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览    ...

  9. JS仿淘宝详情页菜单条智能定位效果

    类似于淘宝详情页菜单条智能定位 对于每个人来说并不陌生!如下截图所示:红色框的那部分! 基本原理: 是用JS侦听滚动事件,当页面的滚动距离(页面滚动的高度)大于或者等于 "对象"( ...

随机推荐

  1. mssqlserver 数据库一直提示“正在还原”

    今天访问服务器,突然发现不知道数据库被谁给还原了,而且一直处于还原状态无法结束. 通过查询说是恢复进程被挂起了,最终通过命令: RESTORE database   dbname with recov ...

  2. UIScrollView设置滑动的距离

    设置好scrollView.width即是控制滑动的距离, scrollView.clipsToBounds = NO;控制是否显示多出的部分(可灵活运用)

  3. VC++6.0 Win32 C2065:SM_XVIRTUALSCREEN

    百度了了一大堆,都说让重装vc++6.0,然而并没有什么卵用. 解决办法:找到你的vc6.0安装路径下的WINDOWS.H,将0x0400改为0x0500 Window各个版本对应的宏值WINVER:

  4. C/C++面试知识点总结

    1.中缀,后缀,前缀表达式: 后缀表达式是波兰逻辑学家卢卡西维奇(Lukasiewicz)发明的一种表示表达式的方法.这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式 ...

  5. 使用Jenkins配置Git和Maven的自动化构建

    Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便. 在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器 ...

  6. ***git自动化部署总结

    在网上搜了一堆没用找到太仔细的教程,于是花费2天时间,自己研究了下.现在分享如下: 思路:利用crontab定时去去执行git pull脚本 首先,用git clone命令将中央库的代码下载到阿里云 ...

  7. php抽奖代码

    1.经典概率算法抽奖 $tmpItems = ['电脑'=>10, '相机'=>50, '100元现金'=>500]; $proSum = array_sum($tmpItems); ...

  8. 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】

    不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...

  9. 使用Azure REST API创建虚拟机

    Hollis Yao, Shihao Rong  使用REST API创建虚拟机之前,首先要确保Azure订阅中已经建好了"云服务"和"存储账号".如果没有的话 ...

  10. JAVA运行时问题诊断-工具应用篇

    该BLOG内容是之前在部门组织讨论运行时问题时自己写的PPT内容,内容以点带面,主要是方便以后自己回顾查看. 大纲包括:1.运行时问题分类 2.服务器自带工具 3.其他工具 4.例子 5.实际情况 运 ...