JavaScript图片放大的使用案例

原创 2013年12月03日 18:55:58

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>鼠标经过图片放大效果代码</title>
<style>
*{ padding:0; margin:0;}
html { overflow:-moz-scrollbars-vertical; }
body{ font:12px/22px "宋体"; word-break:break-all; text-align:left; background:#C0C0C0; color:#4E4E4E;}
ul,li{ list-style:none;}
a{ color:#333; text-decoration:none;}
a:hover{ color:#ff722d; text-decoration:none;}
img{ border:0;}
a img,a:hover img{ border:0;}
.latestWeb{ width:710px; margin:10px auto 0;}
.latestWeb ul{ overflow:hidden; _height:1%;}
.latestWeb li{ float:left; border:1px solid #EBEAEA; width:160px;margin:14px 15px 0 0; background:#fff }
.trans_msg
{
filter:alpha(opacity=100,enabled=1) revealTrans(duration=.2,transition=1) blendtrans(duration=.2);
}
div.bodycontent{font-family:Arial, Helvetica, sans-serif;padding:0 10px 10px 13px;color:#555;line-height:22px;text-align:justify;text-justify:inter-ideograph;}
div.bodycontent ul{margin-left:0px}
</style>
<script language="javascript">
function toolTip(str) {
}
</script>
<script language=JavaScript>
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
function nereidFade(object, destOp, rate, delta){
if (!document.all)
return
    if (object != "[object]"){  //do this so I can take a string too
        setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
        return;
    }
    clearTimeout(nereidFadeTimers[object.sourceIndex]);
    diff = destOp-object.filters.alpha.opacity;
    direction = 1;
    if (object.filters.alpha.opacity > destOp){
        direction = -1;
    }
    delta=Math.min(direction*diff,delta);
    object.filters.alpha.opacity+=direction*delta;
    if (object.filters.alpha.opacity != destOp){
        nereidFadeObjects[object.sourceIndex]=object;
        nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
    }
}
</script>
<style type="text/css">
<!--
.STYLE3 {color: #FFFFFF; font-size: 14px; }
-->
</style>
</head>
<body>
<div class="latestWeb">
  <table width="707" bgcolor="#FFFFFF">
    <tr>
      <td width="355" bgcolor="#666666"><span class="STYLE3"> 以下是鼠标经过图片,跳出大图</span></td>
      <td width="340" bgcolor="#666666"><span class="STYLE3"> 以下是鼠标经过图片,图片清晰</span></td>
    </tr>
  </table>
<ul>
<li>
<div><a href="#"><img src='/jscss/demoimg/201109/a.jpg ' alt="这里是文字说明" border="0" onMouseOver="toolTip('<img src=/jscss/demoimg/201109/a2.jpg>')" onMouseOut="toolTip()"></a></div>
</li>
<li>
<div><a href="#"><img src='/jscss/demoimg/201109/b.jpg ' alt="这里是文字说明" border="0" onMouseOver="toolTip('<img src=/jscss/demoimg/201109/b2.jpg>')" onMouseOut="toolTip()"></a></div>
</li>
<li>
<div><a href="#"><img src="/jscss/demoimg/201109/c.jpg" alt=这里是文字说明 border=0 style="FILTER: alpha(opacity=55)" onmouseover=nereidFade(this,100,3,5) onmouseout=nereidFade(this,50,3,5)></a></div>
</li>
<li>
<div><a href="#"><img src="/jscss/demoimg/201109/d.jpg" alt=这里是文字说明 border=0 style="FILTER: alpha(opacity=55)" onmouseover=nereidFade(this,100,3,5) onmouseout=nereidFade(this,50,3,5)></a></div>
</li>
</ul>
</div>
<br />
<script language="javascript" src="/jscss/demoimg/201109/ToolTip.js"></script>
</body>
</html>

 

 //****************ToolTip.js ************************************************************************* 

function getViewportHeight() {
 if (window.innerHeight!=window.undefined) return window.innerHeight;
 if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
 if (document.body) return document.body.clientHeight;

 return window.undefined;
}
function getViewportWidth() {
 if (window.innerWidth!=window.undefined) return window.innerWidth;
 if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth;
 if (document.body) return document.body.clientWidth;

 return window.undefined;
}

/**
 * Gets the real scroll top
 */
function getScrollTop() {
 if (self.pageYOffset) // all except Explorer
 {
  return self.pageYOffset;
 }
 else if (document.documentElement && document.documentElement.scrollTop)
  // Explorer 6 Strict
 {
  return document.documentElement.scrollTop;
 }
 else if (document.body) // all other Explorers
 {
  return document.body.scrollTop;
 }
}
function getScrollLeft() {
 if (self.pageXOffset) // all except Explorer
 {
  return self.pageXOffset;
 }
 else if (document.documentElement && document.documentElement.scrollLeft)
  // Explorer 6 Strict
 {
  return document.documentElement.scrollLeft;
 }
 else if (document.body) // all other Explorers
 {
  return document.body.scrollLeft;
 }
}
/*
渐变的弹出图片
使用方法:
将ToolTip.js包含在网页body的结束标签后
调用方法:
<a href="pages.jpg" target='_blank' onMouseOver="toolTip('<img src=http://zhouzh:90/templet/T_yestem_channel/pages_small.jpg>')" onMouseOut="toolTip()"><img src='pages_small.jpg' border=0 width=30 height=20 align="absmiddle" title="点击看大图"></a>

必须CSS样式
.trans_msg
{
 filter:alpha(opacity=100,enabled=1) revealTrans(duration=.2,transition=1) blendtrans(duration=.2);
}
*/
//--初始化变量--
var rT=true;//允许图像过渡
var bT=true;//允许图像淡入淡出
var tw=150;//提示框宽度
var endaction=false;//结束动画
var ns4 = document.layers;
var ns6 = document.getElementById && !document.all;
var ie4 = document.all;
offsetX = 10;
offsetY = 20;
var toolTipSTYLE="";
function initToolTips()
{
 tempDiv = document.createElement("div");
 tempDiv.id = "toolTipLayer";
 tempDiv.style.position = "absolute";
 tempDiv.style.display = "none";
 document.body.appendChild(tempDiv);
 if(ns4||ns6||ie4)
 {
  if(ns4) toolTipSTYLE = document.toolTipLayer;
  else if(ns6) toolTipSTYLE = document.getElementById("toolTipLayer").style;
  else if(ie4) toolTipSTYLE = document.all.toolTipLayer.style;
  if(ns4) document.captureEvents(Event.MOUSEMOVE);
  else
  {
    toolTipSTYLE.visibility = "visible";
    toolTipSTYLE.display = "none";
  }
  document.onmousemove = moveToMouseLoc;
 }
}
function toolTip(msg, fg, bg)
{
 try {
   if(toolTip.arguments.length < 1) // hide
   {
  if(ns4)
  {
  toolTipSTYLE.visibility = "hidden";
  }
  else
  {
    //--图象过渡,淡出处理--
    if (!endaction) {toolTipSTYLE.display = "none";}
    if (rT) document.all("msg1").filters[1].Apply();
    if (bT) document.all("msg1").filters[2].Apply();
    document.all("msg1").filters[0].opacity=0;
    if (rT) document.all("msg1").filters[1].Play();
    if (bT) document.all("msg1").filters[2].Play();
    if (rT){
    if (document.all("msg1").filters[1].status==1 || document.all("msg1").filters[1].status==0){ 
    toolTipSTYLE.display = "none";}
    }
    if (bT){
    if (document.all("msg1").filters[2].status==1 || document.all("msg1").filters[2].status==0){ 
    toolTipSTYLE.display = "none";}
    }
    if (!rT && !bT) toolTipSTYLE.display = "none";
    //----------------------
  }
   }
   else // show
   {
  if(!fg) fg = "#777777";
  if(!bg) bg = "#eeeeee";
  var content =
  '<table id="msg1" name="msg1" border="0" cellspacing="0" cellpadding="1" bgcolor="' + fg + '" class="trans_msg"><td>' +
  '<table border="1" cellspacing="2" cellpadding="3" bgcolor="' + bg +
  '"><td><font face="Arial" color="' + fg +
  '" size="-2">' + msg +
  '</font></td></table></td></table>';
 
  if(ns4)
  {
    toolTipSTYLE.document.write(content);
    toolTipSTYLE.document.close();
    toolTipSTYLE.visibility = "visible";
  }
  if(ns6)
  {
    document.getElementById("toolTipLayer").innerHTML = content;
    toolTipSTYLE.display='block'
  }
  if(ie4)
  {
    document.all("toolTipLayer").innerHTML=content;
    toolTipSTYLE.display='block'
    //--图象过渡,淡入处理--
    var cssopaction=document.all("msg1").filters[0].opacity
    document.all("msg1").filters[0].opacity=0;
    if (rT) document.all("msg1").filters[1].Apply();
    if (bT) document.all("msg1").filters[2].Apply();
    document.all("msg1").filters[0].opacity=cssopaction;
    if (rT) document.all("msg1").filters[1].Play();
    if (bT) document.all("msg1").filters[2].Play();
    //----------------------
  }
   }
 } catch(e) {}
}
function moveToMouseLoc(e)
{
  var scrollTop = getScrollTop();
  var scrollLeft = getScrollLeft();
  if(ns4||ns6)
  {
    x = e.pageX + scrollLeft;
    y = e.pageY - scrollTop;
  }
  else
  {
    x = event.clientX + scrollLeft;
    y = event.clientY;
  }
 
  if (x-scrollLeft > getViewportWidth() / 2) {
   x = x - document.getElementById("toolTipLayer").offsetWidth - 2 * offsetX;
  }
 
  if ((y+document.getElementById("toolTipLayer").offsetHeight+offsetY)>getViewportHeight()) {
 y = getViewportHeight()-document.getElementById("toolTipLayer").offsetHeight-offsetY;
  }
  toolTipSTYLE.left = (x + offsetX)+'px';
  toolTipSTYLE.top = (y + offsetY + scrollTop)+'px';
  return true;
}
initToolTips();

 


效果:

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

24-JavaScript-面向对象-案例-移动mario图片

Super Mario //----------------------------------------------------- var marioImg; // 代表马...

javascript:广告、文字跑马灯、图片浮动案例

javascript浏览器对象  window.open  实现一个广告弹出效果 1、确定我们要弹出的内容 2、控制弹出大小、窗口的特征 3、弹出的起始坐标(0,0)   functi...

【JavaScript DOM编程艺术】- 案例研究:图片库改进版

将“最佳实践”的理论应用在图片库上进行重构。
  • Mluka
  • Mluka
  • 2017年06月06日 10:58
  • 241

【JavaScript DOM编程艺术】- 案例研究:JS图片库

本章的学习重点有两个: 一是如何利用DOM所提供的方法去编写图片库脚本。 二是如何利用事件处理函数把JavaScript代码与网页集成在一起。...
  • Mluka
  • Mluka
  • 2017年06月05日 16:58
  • 76

第四章 案例研究 javascript图片库

阅读《javascript dom编程艺术》(第二版),学习,理解,总结,运用...

JavaScript Dom编程艺术-C6 案例研究:图片库改进版

此系列文章主要为学习总结,源自《JavaScript Dom编程艺术》,这是一个关于js,css,html编程文件风格的书籍。...

web前端之JavaScript DOM编程艺术之案例研究:图片库改进版

web前端之JavaScript DOM编程艺术之案例研究:图片库改进版window.onload=prepareGallery;能进行相应的执行。但是如果有两个函数就不行了。 window.onl...

javascript DOM编程艺术 案例之局部图片文本更新

局部刷新 *{ margin:0; padding: 0; text-decoration: none; } .main{ width: 950px; height: 4...
  • normol
  • normol
  • 2016年10月26日 20:04
  • 355

JavaScript Dom编程艺术-C4 案例研究:JavaScript图片库

此系列文章主要为学习总结,源自《JavaScript Dom编程艺术》,这是一个关于js,css,html编程文件风格的书籍。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JavaScript图片放大的使用案例
举报原因:
原因补充:

(最多只允许输入30个字)