jq仿淘宝放大镜插件
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仿淘宝放大镜插件的更多相关文章
- JavaScript仿淘宝实现放大镜效果的实例
我们都知道放大镜效果一般都是用于一些商城中的,列如每当我们打开淘宝,天猫等pc端时,看到心仪的物品时,点击图片时,便呈现出放大镜的效果.在没有去理解分析它的原理时,感觉非常的神奇,当真正地去接触,也是 ...
- 基于Bootstrap仿淘宝分页控件实现
.header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { t ...
- 仿淘宝头像上传功能(三)——兼容 IE6 浏览器。
前两篇目录: 仿淘宝头像上传功能(一)——前端篇. 仿淘宝头像上传功能(二)——程序篇. 仿淘宝头像上传功能(三)——兼容 IE6 浏览器 之前的这两篇虽然实现了功能,但不兼容低版本浏览器,而且有些浏 ...
- Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片
Android中仿淘宝首页顶部滚动自定义HorizontalScrollView定时水平自动切换图片 自定义ADPager 自定义水平滚动的ScrollView效仿ViewPager 当遇到要在Vie ...
- jquery仿淘宝规格颜色选择效果
jquery实现的仿淘宝规格颜色选择效果源代码如下 jquery仿淘宝规格颜色选择效果 -收缩HTML代码 运行代码 [如果运行无效果,请自行将源代码保存为html文件运行] <script t ...
- 高仿淘宝和聚美优品商城详情页实现《IT蓝豹》
高仿淘宝和聚美优品商城详情页实现 android-vertical-slide-view高仿淘宝和聚美优品商城详情页实现,在商品详情页,向上拖动时,可以加载下一页. 使用ViewDragHelper, ...
- android版高仿淘宝客户端源码V2.3
android版高仿淘宝客户端源码V2.3,这个版本我已经更新到2.3了,源码也上传到源码天堂那里了,大家可以看一下吧,该应用实现了我们常用的购物功能了,也就是在手机上进行网购的流程的,如查看产品(浏 ...
- 一款基于jQuery仿淘宝红色分类导航
今天给大家分享一款基于jQuery仿淘宝红色分类导航.这款分类导航适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览 ...
- JS仿淘宝详情页菜单条智能定位效果
类似于淘宝详情页菜单条智能定位 对于每个人来说并不陌生!如下截图所示:红色框的那部分! 基本原理: 是用JS侦听滚动事件,当页面的滚动距离(页面滚动的高度)大于或者等于 "对象"( ...
随机推荐
- java项目上线过程
关于如何将Javaweb上线,部署到公网,让全世界的人都可以访问的问题.小编将作出系列化,完整的流程介绍. 1.在myeclipse中开发好项目,打包成war格式,不会的同学参考以下 http://z ...
- php学习中——知识点(1)
php是嵌入式脚本语言(意义也就不言而喻) 标识:<?php .... ?> 输出:echo "**"; 使用美元符号($)后跟变量名表示变量,区分大 ...
- swift 的枚举、结构体、类
一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值.Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型, ...
- css写出0.5px边框(一)
在移动端会出现线条太粗的现象,简单来说,是因为手机端的像素单位和ui的图比例是2:1,所以ui图的1px边框对我们来说就是0.5px,但是浏览器渲染的最小单位就是1px,下面给几种方法用css写出0. ...
- Android语录
1. application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期.因为它是全局的单例的,所以在不同的Activity,Service中获得的对象都是同一个对象.因此在 ...
- ViewPager适配器FragmentStatePagerAdapter 与FragmentPagerAdapter
使用FragmentPagerAdapter存在删除dataSet顺序错乱的问题 改用FragmentStatePagerAdapter
- Duilib源码分析(三)XML解析器—CMarkup
上一节介绍了控件构造器CDialogBuilder,接下来将分析其XML解析器CMarkup: CMarkup:xml解析器,目前内置支持三种编码格式:UTF8.UNICODE.ASNI,默认为UTF ...
- Selenium通过WebDriver控制IE浏览器出错 Browser zoom level was set to 109%. It should be set to 100%
错误信息: WebDriverException: Message: Unexpected error launching Internet Explorer. Browser zoom level ...
- git客服端基本操作
以下操作基于git+gerrit 1.生成公钥 ssh -keygen -t rsa 默认公钥生成路径 C:\Documents and Settings\用户名\.ssh 2.配置姓名和邮箱地址 ...
- SNMP高速扫描器braa
SNMP高速扫描器braa SNMP(Simple Network Monitoring Protocol,简单网络管理协议)是网络设备管理标准协议.为了便于设备管理,现在联入网络的智能设备都支持 ...