问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JS图片放大扩展,按钮开关放大镜

发布网友 发布时间:2022-04-23 02:18

我来回答

1个回答

热心网友 时间:2022-05-13 07:19

copy运行我如下代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>magnifier</title>

<script src=" http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">

var Magnifier = {

imgURL: null,
imgContainer: null,
imgScale: null,

init: function(url, imageContainer, scale) {
this.imgURL = url;
this.imgScale = scale;
this.imgContainer = imageContainer;

var browserDiv = document.createElement('div');
jQuery(browserDiv).attr('id', 'imageBrowser').css({ position: 'absolute', border: '1px #000 solid', zIndex: 20 }).hide();
imageContainer.append(browserDiv);

var bigImageDiv = document.createElement('div');
jQuery(bigImageDiv).attr('id', 'bigImageDiv').css({ overflow: 'hidden', position: 'absolute', border: '1px #000 solid', zIndex: 100 }).hide();
jQuery('body').append(bigImageDiv);

var bigImage = document.createElement('img');
jQuery(bigImage).attr({ id: 'bigImage', src: url }).css({ position: 'absolute' });
jQuery('#bigImageDiv').append(bigImage);

$("#btnOpen").click(function() {
imageContainer.mousemove(Magnifier.start);
imageContainer.mouseout(Magnifier.end);
});

$("#btnClose").click(function() {
jQuery('#magnifier').unbind('mousemove').unbind('mouseout');
});
},

start: function(e) {
e = Magnifier.fixE(e);
var scale = Magnifier.imgScale;
var x = Magnifier.getMouse(e).x;
var y = Magnifier.getMouse(e).y;
var browserDivW = jQuery('#magnifier img').width() / scale;
var browserDivH = jQuery('#magnifier img').height() / scale;
var positionImage = Magnifier.imgContainer.offset();
var browserDivT = y - browserDivH / 2 - positionImage.top;
var browserDivL = x - browserDivW / 2 - positionImage.left;
if (browserDivT <= 0) browserDivT = 0;
if (browserDivL <= 0) browserDivL = 0;
if (browserDivT >= Magnifier.imgContainer.height() - browserDivH - 2) {
browserDivT = Magnifier.imgContainer.height() - browserDivH - 2;
};
if (browserDivL >= Magnifier.imgContainer.width() - browserDivW - 2) {
browserDivL = Magnifier.imgContainer.width() - browserDivW - 2;
};
jQuery('#imageBrowser').css({ width: browserDivW + 'px', height: browserDivH + 'px', top: browserDivT + 'px', left: browserDivL + 'px' });
jQuery('#imageBrowser:hidden').show();

jQuery('#bigImageDiv').css({ width: Magnifier.imgContainer.innerWidth() + 'px', height: Magnifier.imgContainer.innerHeight() + 'px', top: positionImage.top + 'px', left: positionImage.left + Magnifier.imgContainer.width() + 10 + 'px' });
jQuery('#bigImageDiv:hidden').show();

jQuery('#bigImage').css({ width: Magnifier.imgContainer.innerWidth() * scale + 'px', height: Magnifier.imgContainer.innerHeight() * scale + 'px', top: -(jQuery('#imageBrowser').offset().top - positionImage.top) * scale + 'px', left: -(jQuery('#imageBrowser').offset().left - positionImage.left) * scale + 'px' });
},

end: function(e) {
e = Magnifier.fixE(e);
var toObj = e ? e.relatedTarget : event.toElement;
if (toObj.tagName == "DIV" || toObj == this) {
return;
};
jQuery('#imageBrowser').hide();
jQuery('#bigImageDiv').hide();
},

fixE: function(e) {
if (typeof e == 'undefined') {
e = window.event;
e.target = e.srcElement;
e.layerX = e.offsetX;
e.layerY = e.offsetY;
}
return e;
},

getMouse: function(e) {
e = e || window.event;
return pointer = {
x: e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)),
y: e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop))
};
}
}

jQuery(document).ready(function() {
Magnifier.init(" http://static.niu.com/www/web/catch/2008/2/20/1203479158450.jpg", jQuery('#magnifier'), 5);
});

</script>

<style>
#magnifier
{
width: 300px;
height: 400px;
position: absolute;
top: 100px;
left: 100px;
}
#magnifierImg
{
width: 300px;
height: 400px;
}
</style>
</head>
<body>
<div id="magnifier">
<img src=" http://static.niu.com/www/web/catch/2008/2/20/1203479158450.jpg" id="magnifierImg" />
</div>
<p>
</p>
<form>
<input type="button" value="Open" id="btnOpen" />
<input type="button" value="Close" id="btnClose"/>
</form>
</body>
</html>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
The ___ of the food is very terrible, but it ___ very nice. Worm.Win32.Viking.k病毒描述 IM-Worm.Win32.VB.c清除方案 Worm.Win32.VB.nk 是什么样的蠕虫病毒啊,会怎么样你的电脑啊?_百度知 ... 蠕虫病毒Win32.Womble.C简介 email-worm.win32,vb,bk是什么病毒? Email-Worm.Win32.VB.bk,有谁知道这是什么病毒吗现在有些什么 病毒? Worm.Win32.Viking病毒描述 IM-Worm.Win32.VB.c病毒标签 贵州遵义到甘肃省天水市怎么走方便? 纯javascript写图片放大镜 ccie比ccna 好吗? 鱼掉鳞是怎么一回事? 梦见头上掉了一片大鳞片,鱼鳞、龙鳞之类的,是什么意思? 梦见鱼尾巴的皮掉了,露出白色的肉,是什么意思? 鱼掉鳞是怎么回事 鱼掉鳞片是怎么回事? 梦到大鱼,鱼尾鱼鳞掉了然后陆续生出小猫啥意思 梦到一个人,把掉鳞片的鱼给我 做梦梦见一条很大很漂亮的鱼被别人刮鳞 ...鱼动得非常厉害,还一直在掉鳞片,最后把它放在一个有很多鱼的大盆里... 梦见自己养的锦鲤掉鳞了?什么意思? 梦见自己养的鱼变大然后在鱼缸里脱鳞片? 梦见通灵性的鱼跳出鱼缸掉了一片鱼鳞 梦见很大一条鱼蜕鳞片?是什么意思? 梦见自家养的金鱼掉鳞片是什么征兆 梦见龙鱼把鳞片撞掉了好还是不好? 梦见请人钓鱼,钓到90公分左右长一条鲤鱼,鱼尾脊部掉落一整块鳞片? 做梦梦见一条大鱼生病啦 突然鱼鳞全掉了飞快的游走了? 梦见自己有危险,别人想摘取自己子宫? 如何用原生javascript实现放大镜效果 JS做图片放大镜 js实现单击图片放大图片的方法 求一个简单的点击图片放大缩小的JS代码 看到一个javascript图片放大镜效果,其中o.createView.call(o);是什么... 在html中怎么用js实现鼠标指向图片时图片放大的效果?(具体实现)_百度知... 我想用js写图片点击后放大的效果,怎么写,求助 怎么用js实现图片点击时放大,再点击恢复 在javascript中怎样编写代码使得点击一个图片图片变大再点击又变回去... ...用js写图片放大的效果,一个div对一个代码可以出来,但是多个div显示的... 图片放大特效代码手写 JS局部放大的代码如何编写 HTML5中,如何为图片制作放大镜效果? 求一个图片放大的代码!!! 住蛋壳公寓室友作息时间不规律怎么办? 蛋壳公寓口碑怎么样? 样怎谁么说公蛋能寓壳说?, 怎么认识住同一个公寓但不同号楼的女生,她应该是和几个女生室友同住的。 电脑截屏按哪三个键? 电脑按哪三个键任意截图?