鼠标经过图片图片放大效果

简介: 鼠标经过图片图片放大效果

源代码(转载):

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<script language="JavaScript" type="text/JavaScript" >
function hideLayer()
{
var layer = document.getElementById("popImageLayer");
layer.style.visibility='hidden';
}
function dispear(){
var layer = document.getElementById("popImageLayer");
if ((layer.style.width>0)&& (layer.style.height>0)){
     layer.style.width-=1;
     layer.style.height-=1;
}
else {
     layer.style.visibility='hidden';
     if (window.interval)
     clearInterval(interval);
}
}
function popImage(obj,img,href)
{
var layer = document.getElementById("popImageLayer");
var t=obj.offsetTop;
var l=obj.offsetLeft;
while(obj=obj.offsetParent){
     t+=obj.offsetTop;
     l+=obj.offsetLeft;
}
var content = "<table border=0 width=180 height=180><tr><td align='center' valign='middle'>/n"+
"<A href="+href+" target=_blank><IMG src='"+img+"' οnlοad='DrawImage(this,180,180);'     onMouseOut='low(this);hideLayer();' onMouseOver=high(this) style='FILTER: alpha(opacity=10)'></A></td></tr></table>"; // onClick='hideLayer();'
      layer.innerHTML=content;
      layer.style.left =l + 35 -90;
      layer.style.top = t+35-90;
      layer.style.visibility='visible';
}
function moveToMouseLoc(e)
{
var layer = document.getElementById("popImageLayer");
var offsetX = -5;
var offsetY = -5;
var     x = event.x + document.body.scrollLeft;
var     y = event.y + document.body.scrollTop;
layer.style.left = x + offsetX;
layer.style.top = y + offsetY;
return true;
}
function DrawImage(img,width,height){
if(DrawImage.arguments.length <= 1)
     width=height=70;
var image=new Image();
image.src=img.src;
if(image.width>0 && image.height>0)
{
      if(image.width>width)
      {
       rate=image.height/image.width;
       newHeight=rate*width;
       img.width=width;
       img.height=newHeight;
      }
}
if(img.height>height)
{
     rate=image.width/image.height;
     newWidth=rate*height;
     img.height=height;
     img.width=newWidth;
}
}
function DrawImage50(img){
DrawImage(img,50,50);
}
function resetForm(){
var f=document.frmsearch;
      f.Page.value = 1;
      f.ClassCode.value ='' ;
      f.SortType.value ='' ;  
      f.KeyWord.value='';
      f.Area.value='';
      f.MinPrice.value=f.MaxPrice.value='';
return false;  
}  
function manualSearch(){
var f=document.frmsearch;
      f.Page.value = 1;
     // f.ClassCode.value ='' ;
      f.SortType.value ='' ;  
      f.submit();
return false;  
}
function checkCondition(obj) {
return true;
}
function selectview(obj)
{
      var f=document.frmsearch;
      if ((obj.selectedIndex>0) && (obj.selectedIndex <7))
        f.SortType.value = obj.options[obj.selectedIndex].value;
else if ((obj.selectedIndex>6) && (obj.selectedIndex <10))
        f.View.value = obj.options[obj.selectedIndex].value;
else if ((obj.selectedIndex>9) && (obj.selectedIndex <13))
        f.PageSize.value = obj.options[obj.selectedIndex].value;
      f.submit();
return false;  
}
function changeLocation(obj){
var f=document.frmsearch;
      f.Area.value = obj.options[obj.selectedIndex].value;
      f.submit();
return false;  
}
function changeViewMode(mode){
var f=document.frmsearch;
      f.View.value = mode;
      f.submit();
return false;
}
function changePage(page){
var f=document.frmsearch;
      f.Page.value = page;
      f.submit();
return false;
}
function changePageSize(pagesize){
var f=document.frmsearch;
      f.Page.value = 1;
      f.PageSize.value = pagesize;  
      f.submit();
return false;
}
function changeSortType(type){
var f=document.frmsearch;
      f.Page.value = 1;  
      f.SortType.value = type;
      f.submit();
return false;
}
function changeClassCode(code){
var f=document.frmsearch;
      f.ClassCode.value = code;
      f.Page.value=1;
      f.submit();
return false;
}
function high(which2){
theobject=which2;
highlighting=setInterval("highlightit(theobject)",40);
}
function low(which2){
clearInterval(highlighting);
which2.filters.alpha.opacity=40;
}
function highlightit(cur2){
if (cur2.filters.alpha.opacity<100)
     cur2.filters.alpha.opacity+=5
else if (window.highlighting)
     clearInterval(highlighting)
}
function delightit(cur2){
if (cur2.filters.alpha.opacity>5)
     cur2.filters.alpha.opacity-=5;
else if (window.highlighting)
      clearInterval(highlighting);
}
</script>
<div id="popImageLayer" align="center"     name="popImageLayer"     style="position:absolute; visibility: hidden; width: 180; height: 180;cursor: hand;border-style:solid;border-width:1pt; border-color:orange" calss=""></div>
<center>
<br /><br /><br />
<div id="090" ><img src="http://admin.mall.dangdang.com/GoodsImage/S000000460/Small/200608090909231.png" onMouseOver="popImage(this,'http://admin.mall.dangdang.com/GoodsImage/S000000460/Middle/200608090909231.png','http://wangfenglitai.mall.dangdang.com/products/G00000072867.html');" border=0>hkjhgkhk</div></a>
</center>
</body>
</html>

转载以上代码。

说实在的代码有点长而且在FF下还不好用,其实就是一点点问题,IE和FF针对位置的定义不同,只要在popImage函数中加点东西就OK,但是他又不回去了,也就是说onMouseOver不好用了,去掉一个FF不支持的方法,OK!咱们看看具体代码:

function popImage(obj,img,href)
{
var layer = document.getElementById("popImageLayer");
var t=obj.offsetTop;
var l=obj.offsetLeft;
while(obj=obj.offsetParent){
     t+=obj.offsetTop;
     l+=obj.offsetLeft;
}
var content = "<table border=0 width=180 height=180><tr><td align='center' valign='middle'>/n"+
"<A href="+href+" target=_blank><IMG src='"+img+"' οnlοad='DrawImage(this,180,180);'     onMouseOut='hideLayer();' onMouseOver=high(this) style='FILTER: alpha(opacity=10)'></A></td></tr></table>"; // onClick='hideLayer();'
      layer.innerHTML=content;
      layer.style.left =l + 35 -90+"px";
      layer.style.top = t+35-90+"px";
      layer.style.visibility='visible';
}
目录
相关文章
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
1600 0
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
|
5月前
|
前端开发 C++
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
64 0
|
7月前
|
机器学习/深度学习 人工智能
bigjpg图片放大
bigjpg图片放大
69 0
|
存储 C++ Python
C++复刻:[流光按钮]+[悬浮波纹按钮]
[流光按钮]+[悬浮波纹按钮]
176 0
平铺文理+拉伸按钮图片
平铺文理+拉伸按钮图片
82 0
图片放大配置
图片放大配置
90 0
|
Web App开发 JavaScript 前端开发
Magnifier.js - 支持鼠标滚轮缩放的图片放大镜效果
  Magnifier.js 是一个 JavaScript 库,能够帮助你在图像上实现放大镜效果,支持使用鼠标滚轮放大/缩小功能。放大的图像可以显示在镜头本身或它的外部容器中。Magnifier.js 使用Event.js 作为跨浏览器的事件处理器。
1676 0
|
移动开发 HTML5
fbh
|
JavaScript 前端开发
鼠标移到图片上图片放大
一 在现在的网页设计中,鼠标移到图片上图片放大的效果常常被用到,这个效果多应用于文章列表里。我一开始以为是用JQuery来实现的,后来才知道原来是用CSS3来实现的。
fbh
1890 0