美文网首页
javascript鼠标移上图片放大Demo

javascript鼠标移上图片放大Demo

作者: 醉酒的姑娘 | 来源:发表于2019-07-08 09:44 被阅读0次

效果展实:(鼠标移上显示大图,点击显示原图)

image.png

ToopTip.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";
tempDiv.style.zIndex="999";
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="0" cellspacing="0" cellpadding="3" bgcolor="' + bg + 
    '"><td><font face="Arial" color="' + fg +
    '" size="-2">' + msg +
    '&nbsp\;</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();

调用示例

<a href="图片src" target='_blank'  onMouseOver="toolTip(图片src)" onMouseOut="toolTip()"><img src="图片src" border="0" width="200"  align="absmiddle" title="点击看大图"></a>

相关文章

网友评论

      本文标题:javascript鼠标移上图片放大Demo

      本文链接:https://www.haomeiwen.com/subject/muenhctx.html