插件链接:http://files.cnblogs.com/files/whosMeya/magnifier.js

1.在jquery下插入。

2.格式:magnifier("需要插入的位置",主图宽,主图高,"主图路径",遮罩层宽,遮罩层高,放大框宽)

    例如:magnifier(".box",400,400,"1.jpg",200,200,400)

    说明:1.需要插入的位置 格式为 jQuery中格式。如".box","#box","#box div"

       2.宽高单位为px。(如需其他单位,在源码中修改)。

插件源码

/**
*放大镜
*/
function magnifier(fatherName,MainWidth,MainHeight,img_src,SelectWidth,SelectHeight,BigBoxWidth){
var bei = (BigBoxWidth/SelectWidth);
/**
* 创建主图盒子,添加主图
*/
$(fatherName).html("<div class='magnifierMainBox'></div><div class='magnifierBigBox'></div>")
$(".magnifierMainBox").css({
"position":"relative",
"width":MainWidth + "px",
"height":MainHeight + "px",
"border":"1px solid #eee",
"box-size":"border-box"
}).html("<img class='magnifierMainImg' src='"+img_src +"'/><div class='magnifierSelect'></div>");
$(".magnifierMainImg").css({
"width":"100%",
"height":"100%"
})
/**
* 创建主图遮罩层
*/
$(".magnifierSelect").css({
"display":"none",
"position":"absolute",
"width":SelectWidth + "px",
"height":SelectHeight + "px",
"background":"rgba(252,197,5,0.3)",
"cursor":"move"
});
/**
* 创建放大图盒子,放大图
*/
$(".magnifierBigBox").css({
"display":"none",
"background":"url("+img_src+")",
"width":BigBoxWidth + "px",
"height":BigBoxWidth*SelectHeight/SelectWidth + "px",
"border":"1px solid #eee",
"overflow":"hidden",
"position":"relative",
"left":MainWidth+"px",
"top":-MainHeight-2+"px",
"box-size":"border-box",
"z-index":"99",
"background-size":MainWidth*bei+"px "+MainHeight*bei+"px"
})
/**
* 移动
*/
$(".magnifierMainBox").mouseenter(function(){
$(".magnifierSelect").show();
$(".magnifierBigBox").show();
}).mousemove(function(e){
var e=e || window.event;
var _left = e.clientX + $("body").scrollLeft() - $(".magnifierMainBox").offset().left - SelectWidth/2;
var _top = e.clientY + $("body").scrollTop() - $(".magnifierMainBox").offset().top - SelectHeight/2;
if(_left<0){
_left=0;
}
if(_left>MainWidth-SelectWidth){
_left=MainWidth-SelectWidth;
} if(_top<0){
_top=0;
}
if(_top>MainHeight-SelectHeight){
_top=MainHeight-SelectHeight;
}
$(".magnifierSelect").css({
"left":_left + "px",
"top":_top + "px"
})
$(".magnifierBigBox").css({
"background-position":(-_left*bei)+"px "+(-_top*bei)+"px"
})
}).mouseleave(function(){
$(".magnifierSelect").hide();
$(".magnifierBigBox").hide();
})
}

demo1

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
.box{
height:400px;
width:400px;
margin-top:50px;
margin-left:100px;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="magnifier.js"></script>
</head>
<body>
<div class="box"></div>
</body>
<script type="text/javascript">
magnifier(".box",400,400,"1.jpg",200,200,400)
</script>
</html>

效果如下:

若需要点击切换,在需要用到的位置直接调用。

如demo2

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="magnifier.js"></script>
<style type="text/css">
.box{
margin-left:100px;
margin-top:50px;
width:400px;
height:800px;
border:1px solid #444;
}
.boxtop{
height:400px;
width:100%;
}
.boxbottom img{
height:50px;
width:50px;
margin-left:20px;
}
</style>
<script type="text/javascript">
$(function(){
var kkk ="";
$(".box").html("<div class='boxtop'></div><div class='boxbottom'></div>")
for(var i=0;i<5;i++){
kkk += "<img src='"+(i+1)+".jpg'/>"
}
magnifier(".boxtop",400,400,"1.jpg",200,200,500) //调用
$(".boxbottom").html(kkk);
$(".boxbottom").children().click(function(){
magnifier(".boxtop",400,400,$(this).index()+1+".jpg",200,200,500)//调用
})
})
</script>
</head>
<body>
<div class="box"></div>
</body>
</html>

效果如下:

jQuery万能放大镜插件(普通矩形放大镜)的更多相关文章

  1. jquery插件课程2 放大镜、多文件上传和在线编辑器插件如何使用

    jquery插件课程2 放大镜.多文件上传和在线编辑器插件如何使用 一.总结 一句话总结:插件使用真的还是比较简单的,引包,初始化,配置参数(json),配置数据(json),而后两步不是必须的.而且 ...

  2. jquery放大镜插件与样式

    这是放大镜插件链接,我已经上传到我博客http://files.cnblogs.com/valiant1882331/%E6%94%BE%E5%A4%A7%E9%95%9C%E6%8F%92%E4%B ...

  3. jQuery放大镜插件

    (function($) { $.fn.magnifier = function(options){ var options = $.extend({ bigWidth: 400, //大图高度 bi ...

  4. Jquery放大镜插件---imgzoom.js(原创)

    Jquery放大镜插件imgzoom能够实现图片放大的功能,便于与原图进行比较. 使用方法: 1.引入jQuery与imgzoom,imgzoom.css <link rel="sty ...

  5. jquery cloudzoom 3.0,magiczoom 放大镜插件 破解 移除版权信息

    jquery Cloud Zoom一款放大镜插件.但是无奈 官方下载的始终有版权信息,因此想到如下方法去掉版权信息,测试可行! 官方网址:http://www.starplugins.com/clou ...

  6. 非常强大的jQuery万能浮动框插件

    支持hover, click, focus以及无事件触发:支持多达12种位置的定位,出界自动调整:支持页面元素加载,Ajax加载,下拉列表,提示层效果,tip类效果等:可自定义装载容器:内置UI不错的 ...

  7. [vue插件]基于vue2.x的电商图片放大镜插件

    最近在撸一个电商网站,有一个需求是要像淘宝商品详情页那样,鼠标放在主图上,显示图片放大镜效果,找了一下貌似没有什么合适的vue插件,于是自己撸了一个,分享一下.小白第一次分享,各位大神莫见笑. vue ...

  8. jquery的常用插件

    jquery的常用插件jquery的常用插件jquery的常用插件jquery的常用插件jquery的常用插件 放大镜: cloud-zoom(这个效果很炫) 图片查看: fancybox(灯箱) t ...

  9. 20 个具有惊艳效果的 jQuery 图像缩放插件

    jQuery相对与Flash的魔力已经贯穿整个网络.尽管,Flash层被认为是用于网页设计的首选,然而随着jQuery的出现,以及他的酷似Flash的交互式特效使得网页更加的优雅——Flash开始靠边 ...

随机推荐

  1. FOR xml path 这么爽的SQL命令,居然今天才知道

    select  stuff((select ControlName from Base_Controls FOR xml path('')),1,1,'')

  2. DOS命令编译JAVA程序

    上篇文章给大家写了怎么安装JDK配置,现在这篇文章我们就来学习下怎么在DOS命令下编译JAVA程序,以后没编译器都可以直接编译啦(嘻嘻!) 我这里就用永远的 “Hello wrold!”来演示下吧. ...

  3. 将js进行到底:node学习3

    node重要API之NET--TCP编程之旅 废话:最近去了一趟上海会了会一个程序员朋友,途径SNH48握手会,说好我就去看看,没想到握手了王诗蒙,掉入巨坑:塞纳河.回来后边听着<春夏秋冬> ...

  4. django models 中choices之用法举例

    CHOICES常用做单选属性,下面举例在django models中人物性别的用法: 我们先定义一个模型,名字为Students ,这个Students 包含了名字和性别两个字段,代码如下: from ...

  5. 换到GitHub 博客了

    觉得还是github上面的代码风格看起来舒服些,所以决定把blog搬到github上面去了.以后这里就作为一个放资料的地方吧. github地址:http://l34rner.github.io/

  6. oracle中group by 和order by同时存在时

    关键点:order by 的栏位必须在group by 中有:例如:select name from TABLE group by name ,id order by id asc

  7. 【C++基础】008常量和变量

    简介:常量和变量. 常量和变量 1. 常量 具体把数据写出来 2,3,4: 1.2,1.3: "Hello World!","C++": cout <&l ...

  8. IO和流

    I/O和流 I/O是Input和Output的缩写 从读写设备,包括硬盘文件,内存,键盘输入,屏幕输出,网路 输入输出"内容"(字节或文本) 流是对输入输出设备的一种抽象 从流中读 ...

  9. scrapy爬虫-scrapy-redis分布式

    1.如何将一个scrapy爬虫项目修改成为一个简单的分布式爬虫项目 官方文档:https://scrapy-redis.readthedocs.io/en/stable/ 只用修改scrapy项目的两 ...

  10. Python安装3 —— Python3.8和2.7共存

    本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12400896.html 一:Python解释器为什么要2个版本? 众所周知,Py ...