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

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

源代码(转载):

<!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';
}
目录
相关文章
|
网络安全 Docker 容器
安装docker并配置远程连接和阿里镜像
安装docker并配置远程连接和阿里镜像
684 0
|
缓存 图形学
Unity 之 关于UnityHub无法打开项目的问题(弹出Unity启动界面有退回到Hub选择工程界面)
弹出Unity启动界面有退回到Hub选择工程界面方案一:万能的重启大法;方案二:未开启许可证;方案三:终极奥义 -- 弃用Hub
3648 0
Unity 之 关于UnityHub无法打开项目的问题(弹出Unity启动界面有退回到Hub选择工程界面)
|
Dart 开发者 UED
flutter 非常用组件整理 第三篇
本文是非常用组件的第三讲,介绍了一些不为人知但却能大幅提升Flutter应用UI效果和功能的高级组件,包括FadeInImage、GridPaper、Hero等,为开发者带来更丰富的UI设计可能。
233 3
flutter 非常用组件整理 第三篇
|
机器学习/深度学习 Kubernetes 监控
Jupyter 集群管理:大规模部署的最佳策略
【8月更文第29天】当涉及大规模部署 Jupyter 笔记本服务器时,组织通常需要考虑如何有效地管理这些资源,以便支持多用户、高可用性和高性能的需求。Jupyter 集群管理不仅关乎于提供一个稳定的开发环境,还涉及到安全性、可扩展性和资源优化等问题。
468 1
|
PyTorch TensorFlow API
Transformers 4.37 中文文档(七)(4)
Transformers 4.37 中文文档(七)
427 0
|
12月前
|
JavaScript
JAVA并发编程系列(9)CyclicBarrier循环屏障原理分析
本文介绍了拼多多面试中的模拟拼团问题,通过使用 `CyclicBarrier` 实现了多人拼团成功后提交订单并支付的功能。与之前的 `CountDownLatch` 方法不同,`CyclicBarrier` 能够确保所有线程到达屏障点后继续执行,并且屏障可重复使用。文章详细解析了 `CyclicBarrier` 的核心原理及使用方法,并通过代码示例展示了其工作流程。最后,文章还提供了 `CyclicBarrier` 的源码分析,帮助读者深入理解其实现机制。
|
数据可视化 前端开发 JavaScript
Echarts+JS实现农业指挥舱可视化大屏!!附源码!!
Echarts+JS实现农业指挥舱可视化大屏!!附源码!!
|
设计模式 C++ 开发者
C++一分钟之-智能指针:unique_ptr与shared_ptr
【6月更文挑战第24天】C++智能指针`unique_ptr`和`shared_ptr`管理内存,防止泄漏。`unique_ptr`独占资源,离开作用域自动释放;`shared_ptr`通过引用计数共享所有权,最后一个副本销毁时释放资源。常见问题包括`unique_ptr`复制、`shared_ptr`循环引用和裸指针转换。避免这些问题需使用移动语义、`weak_ptr`和明智转换裸指针。示例展示了如何使用它们管理资源。正确使用能提升代码安全性和效率。
271 2