爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
JS特效
[js放大镜]使用js放大图片的特效
[js放大镜]使用js放大图片的特效
日期:2014-05-18 浏览次数:20192 次
以下是HTML网页特效代码,点击运行按钮可查看效果:
以下是程序代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Javascript Images zoom-out view sample. Brought to you by 斩梦人.天天 QQ:22062019</title> <script language="JavaScript"> <!-- var dshowW=450; //默认预览图宽度(可由小图的showW,showH动态指定) var dshowH=300; //默认预览图高度 var bborder=1; //大图边框 var sborder=1; //小图边框 var vborder=1; //小预览图边框 var bigW,bigH,smallW,smallH,showW,showH,viewW,viewH;//大图,小图,预览窗,小预览窗 var nview,nflag,picstatus,tempo,abox,zoomX,zoomY; //初始化 window.onload=function init(){ isIE=window.event?1:0; picshow.style.borderWidth=bborder; picshow.style.width=dshowW; picshow.style.height=dshowH; bpic.style.display=""; abox=document.body.getElementsByTagName("div"); //初始化所有小图 for (n=0;n<abox.length;n++) if (abox[n].className=="picbox"){ var o=abox[n]; var view=getview(o); var img=getimg(o); view.style.borderWidth=vborder; o.style.borderWidth=sborder; o.style.width=img.width+sborder*2*isIE; o.style.height=img.height+sborder*2*isIE; o.setAttribute("pid",n); //小图标记,主键唯一 if (o.getAttribute("show")=="show") loadpic(o); o.onmouseout=function (){setTimeout(nview.style.visibility='hidden');} } } //载入图片 function loadpic(o){ var view=getview(o); var img=getimg(o); bpic.style.display="none"; nview=view; //标记活动小预览窗 nflag=o.getAttribute("pid"); //当前图片标记,用来判断切换图片 //改变预览窗大小 if (img.getAttribute("showW")!=null) showW=parseInt(img.getAttribute("showW")); else showW=dshowW; if (img.getAttribute("showH")!=null) showH=parseInt(img.getAttribute("showH")); else showH=dshowH; picshow.style.width=showW+isIE*bborder*2; picshow.style.height=showH+isIE*bborder*2; loading.style.marginTop=(showH-loading.offsetHeight)/2; if (img.getAttribute("dLeft")) bpic.style.marginLeft=-parseInt(img.getAttribute("dLeft")); if (img.getAttribute("dTop")) bpic.style.marginTop=-parseInt(img.getAttribute("dTop")); picstatus="loading"; tempo=o; bpic.src=img.lowsrc; } //图片载入完成 function loaddone(o){ bpic.style.display="block"; var view=getview(o); var img=getimg(o); smallW=img.width; //改变小图,小预览窗大小 smallH=img.height; bigW=bpic.width; bigH=bpic.height; if (showW>bigW){//如果预览图比大图大,则等于大图 showW=bigW; picshow.style.width=showW+isIE*bborder*2; } if (showH>bigH){ showH=bigH; picshow.style.height=showH+isIE*bborder*2; } zoomX=bigW/smallW; zoomY=bigH/smallH; viewW=showW*smallW/bigW; viewH=showH*smallH/bigH; nview.style.width=viewW-vborder*2*!isIE; nview.style.height=viewH-vborder*2*!isIE; nview.style.display="block"; img.style.top=-nview.offsetHeight; if (!nview.style.left) nview.style.left=0; if (!nview.style.top) nview.style.top=0; picstatus="done" } //移动事件 function move(e,o,flag){ //flag,对象来源标记,FF下view的定位需要 o=isIE?o.parentElement:o.parentNode; if (o.getAttribute("pid")!=nflag){ //判断是否切换了图片 nview.style.visibility="hidden"; loadpic(o); //载入新图片 } if (picstatus="done"){ //如果大图载入完毕 if (nview.style.visibility="hidden") nview.style.visibility="visible"; var e=isIE?window.event:e; if (isIE==0){ //分别获取FF或IE的view位置 if (flag==1){ //由于o的来源不同,使用不同的算法定位 vX=e.layerX+parseInt(nview.style.left)-nview.offsetWidth/2-vborder; vY=e.layerY+parseInt(nview.style.top)-nview.offsetHeight/2-vborder; }else{ vX=e.layerX-nview.offsetWidth/2-vborder; vY=e.layerY-nview.offsetHeight/2-vborder; } } else{ vX=e.offsetX-nview.offsetWidth/2; vY=e.offsetY-nview.offsetHeight/2; } if (vX < 0) vX = 0; //边界判断,不能超出缩略图的范围 if (vY < 0) vY = 0; if (vX > smallW-viewW) {vX=smallW-viewW;mX=bigW-showW
上一篇:狡猾的按钮特效
下一篇:简单的js图片拉伸效果特效
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
一个非脑残米粉的思考:小米“成功之道”如何炼成
微软确认 Surface 计划更多尺寸和LTE 版本
中移动财报外的"五座大山":运营商沦为走秀陪衬
湖南卫视扶持芒果TV杀入媒体:版权独播不分销
传搜狗估值12亿美元 与360谈判进入白热化
微软不会被颠覆
总部大楼已换微软Logo:回忆诺基亚的兴衰史
腾讯微信昨晚再现大规模故障 多地受到影响
神州电脑中止IPO面前:再被质疑财务造假
推荐阅读
更多>
雷军收买腾讯金山股份:持股比例升至27%
全球最具“颠覆性”特质的公司排行榜TOP25
Android应用审核乱象:诈骗软件冲上排行榜首
互联网情色众多 Facebook与9158态度大不同
中移动一季度净利大降:手机补贴增长过快
微软很“捉急”:补贴Win8 重加末尾按钮
PC迎9年来出货量新低 平板电脑渐成主流
易信工具性优势突出 丁磊三板斧或先砍在飞信上
“扫黄打非”下9158否认遭整顿
NoomWeight减肥
蘑菇街CEO陈琪:2015将回归社会化电商
诺基亚依托规模效应 猛攻国际市场空白
史玉柱此刻离任:营销巨匠为新游戏炒作?
Facebook思科联手推免费WiFi 欲覆盖全美
CSS控制字符长度和显示长度
用友软件股价逆势下跌 再融资方案现曙光
赴美开店,阿里11Main准备好了吗?
三星维修新规:Galaxy S4主板进水也收费修
打车App就是下一个团购骗局!?
苹果App Store被大量刷榜:iTunes账号成帮凶