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. 五星评分效果 原生js

    五星评分在很多地方都可以用到,网上也有插件或者相应的代码,在这里我给大家提供一款我自己写的超级简单实用的五星评分代码,连图片都不需要 <!-- 评分start --> <ul> ...

  2. scala eclipse plugin 插件安装

    最近在看Apache Apollo 代码,其中有很多scala代码,没办法需要安装一个scala插件. 我试过zip 安装,直接下载的update-site.zip 不能直接安装到位.我又特别懒,不想 ...

  3. 将input file的选择的文件清空的两种解决方案

    <input type="file" id="fileupload" name="file" /> 上传文件时,选择了文件后想清 ...

  4. 基于NPOI导出和导入Excel

    概述 NPOI,顾名思义,就是POI的.NET版本.NPOI就是用.NET语言编写的一套数据导出Excel的开源项目,支持XML.xls.xlsx.ppt等格式..NET不仅实现Excel导出还可以实 ...

  5. 【Java EE 学习 78 中】【数据采集系统第十天】【Spring远程调用】

    一.远程调用概述 1.远程调用的定义 在一个程序中就像调用本地中的方法一样调用另外一个远程程序中的方法,但是整个过程对本地完全透明,这就是远程调用.spring已经能够非常成熟的完成该项功能了. 2. ...

  6. 攻城狮在路上(陆)-- 提交运行MapReduce程序到hadoop集群运行

    此种方式不能直接在eclipse中调试代码. 首先需要在src下放置服务器上的hadoop配置文件:core-site.xml\yarn-site.xml\hdfs-site.xml\mapred-s ...

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

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

  8. Aspx页面模拟WebService功能

    在后台引入 using System.Web.Services 命名空间 然后在编写web服务方法: [WebMethod] public static string GetData(string t ...

  9. 清理SYSAUX表空间

    1.查看SYSAUX表空间中数据分布情况 col SEGMENT_NAME for a30 set lines 999 select * from (select segment_name,PARTI ...

  10. xpath定位实战(1)

    1.执行scrapy shell "https://book.douban.com/subject/2256039/"