[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
imageZoom.js
复制代码 代码如下:
/*
*Author:sohighthesky
*Date:2009-11-14
*/
/*
*img 指定要放大的图片或者其id
*options:参见代码中setOptions中的注释
*/
var imageZoom = function(img,options) {
this.img=this.g(img);
if(this.img.nodeName!="IMG") {
if(this.img && this.img.children[0].nodeName=="IMG")this.img=this.img.children[0];
else throw Error("Invalid argument [img] !");
}
this.setOptions(options);
this.init();
}
imageZoom.prototype={
g:function(id) {return typeof(id)=="string"?document.getElementById(id):id;},
ae:function(el,type,call) {
if(el.addEventListener)el.addEventListener(type,call,false);
else el.attachEvent("on"+type,call);
},
getPos:function(o){//取元素坐标
var x = 0, y = 0;
do{x += o.offsetLeft; y += o.offsetTop;}
while(o=o.offsetParent);
return {'x':x,'y':y};
},
setOptions:function(options) {
this.options={
mul:0,//默认为不放大(显示图片的原来大小)
bigImg:null,//指定放大的图片路径(要跟小图成比例才好)
viewer:null, //指定显示的位置(可以为一个div或者其id)
viewerCla:"",//预览的div的类样式
viewerMul:1,//指定显示div的放大倍数,默认为原大小,设置viewer时此参数无效
onShow:function(){},
onHide:function(){}
};
for(var o in options) {this.options[o]=options[o];}
this.options.bigImg =this.options.bigImg ||this.img.src;
},
getSize:function(o) {
return {w:o.offsetWidth,h:o.offsetHeight};
},
createView:function() {
var _is=this.getSize(this.img);
var d=document;
if(this.options.viewer){
this.viewer=this.g(this.options.viewer);
this.viewer.style.overflow="hidden";
this.viewer.style.position="relative";
} else {
this.viewer=d.createElement("div");
this.viewer.className=this.options.viewerCla;
var pos=this.getPos(this.img);
this.viewer.style.cssText="display:none;overflow:hidden;position:absolute;top:"+pos.y+"px;left:"+(pos.x+_is.w+10)+"px;height:"+_is.h*this.options.viewerMul+"px;width:"+_is.w*this.options.viewerMul+"px";
d.body.appendChild(this.viewer);
}
this.viewimg=d.createElement("img");
this.viewimg.style.cssText="position:relative;left:-33%;top:-33%;";
this.viewimg.src=this.options.bigImg;
if(this.options.mul) {//设置放大倍数
this.viewimg.style.width=_is.w*this.options.mul +"px";
this.viewimg.style.height=_is.h*this.options.mul +"px";
}
this.viewer.appendChild(this.viewimg);
},
move:function(e) {
if(!this.options.mul)
this.options.mul=this.viewimg.offsetHeight/this.img.offsetHeight;
var pos=this.getPos(this.img);
var l=e.clientX-pos.x+(document.documentElement.scrollLeft || document.body.scrollLeft);//鼠标位置相对于图片左上角的偏移
var t=e.clientY-pos.y+(document.documentElement.scrollTop || document.body.scrollTop);
var zs=this.getSize(this.viewer);
var pl=-l*this.options.mul+zs.w/2;
var pt=-t*this.options.mul+zs.h/2;
pl=pl>0?0:pl;
pt=pt>0?0:pt;
var vs=this.getSize(this.viewimg);
pl=Math.max(pl,zs.w-vs.w);
pt=Math.max(pt,zs.h-vs.h);
this.viewimg.style.left=pl+"px";
this.viewimg.style.top=pt+"px";
},
init:function() {
var o=this;
var load=function(a) {//图片加载
o.createView.call(o);
o.img.setAttribute("alt","");
o.ae(o.img,"mousemove",function(event){o.move.call(o,event);});
if(!o.options.viewer) {
o.ae(o.img,"mouseover",function(){o.options.onShow();o.viewer.style.display=""});
o.ae(o.img,"mouseout",function(){o.options.onHide();o.viewer.style.display="none"});
}
};
if(typeof(document.readyState)=="undefined" || window.opera) {
var de=document.documentElement || document.body;
var h=de.scrollHeight;
var t=setInterval(function() {
if(h==de.scrollHeight){
clearInterval(t);
load();
} else h=de.scrollHeight;
},500);
} else if(document.readyState=="complete")
load();
else
o.ae(window,"load",load);
}
};
相关推荐:
seo深度优化插件是什么,深度优化手机软件 ,ai的缩写
用AI写文章,释放你的创作潜力!
seo读什么书,seo是哪个专业的 ,亚洲9ai吧
SEO经营:助力企业腾飞的秘密武器,靖边百度关键词排名
中文润色:提升表达的艺术,打造无懈可击的语言魅力,广告营销推广新思路论文
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
ChatGPT怎么打不开了?揭秘背后的原因与解决方法,ai中打开ai文件丢失
“洗稿技巧如何让你的文章脱颖而出,轻松提升内容创作水平!”,台州椒江seo企业排名
ChatGPT付款银行卡被拒绝?解决方案全解析!,小发猫ai智能写作查重能过吗
ChatGPTDNS出问题?如何快速解决并保障网络畅通,墨镜ai照片
seo,seoul city ,ai精洗
ChatGPT:人工智能对话新时代的领航者,ai音响华为还是小米好
在线AI写文:开启高效创作新时代
ChatGPTCanvex打不开?详细分析及解决方法助你顺利使用,ai2.5d网格线去除
OpenAI网站崩溃原因:背后的技术与挑战,千牛Ai智投在哪里找
seo网站反链是什么,网站反链怎么做 ,ai插画头像卡通
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
AI生成文章免费工具,让创作变得轻松又高效,ai安心健
2025年SEO最新技术:让你的网站脱颖而出!,ai少女特色
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
ChatGPT5.0为什么一直没出来?背后的技术与战略,元宵节ai趣赏月
AI通过算法和数据生成的作品:科技与艺术的跨越,带来无限创意可能,ai优化程序
优化百:开启数字时代的智能营销新时代,湘潭seo优化报价表
SEO对策:提升网站排名与流量的必备策略,SEO入门相机平价学生
二级泛站群,zblog二级泛站群 ,李宗盛ai
GPT在什么时候被人熟知的?从技术突破到广泛应用的背后故事,ai商业新思维ai课程
“赞片CMS”-让你的*站点管理更高效、便捷,日照seo平台
seo诊断什么意思,seo诊断a5 ,约瑟夫ai
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
ChatGPT-4中文免费破解版:无需付费,体验最强AI助手,ai写作生成器官方下载
ChatGPT美区要梯子吗?轻松畅享全球智能聊天体验,ai音位
SEO实际:如何在竞争激烈的市场中脱颖而出,dz论坛seo如何设置
AI提供的阅读书目对学生的专业知识有多大帮助,沃奇ai
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
seo需要什么能力,seo需要哪些技术 ,ai长条弯曲
AI网页版本:开启智能时代的新篇章,拼音标调ai
AI代谢文章:从灵感到成果的创作革命
seo自己做什么,自己做seo需要花钱吗 ,ai850775
seo重点是什么,seo最重要的指标 ,ai网格怎么用
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
AI批量文章工具,让写作变得高效与轻松,cs机器人ai
怎么分辨文章是不是AI写的?五大技巧揭开真相
SEO查:如何通过精准优化让网站流量飞速增长,吉林推广营销怎么样
SEO注意事项:助力网站流量提升的关键策略,济宁快速seo优化价格
SEO结构优化:助力网站提升排名与流量的关键策略,杭州小网站推广哪家好做
文章缩写AI:高效编辑的未来之光
如何用AI写公众号文章?让创作更高效、更轻松
URL泄露:如何防止信息泄露带来的严重后果,抖音推广营销服务多少钱
SEO到底怎么做?揭秘从零到精通的完整SEO优化攻略,鸟瞰ai
ChatGPT不能用了?了解这一背后的真相及解决方法,ai恐怖头像