js 图片放大缩小(有过渡效果)

本文介绍了一个使用HTML和JavaScript实现的简单图片缩放功能。当鼠标悬停在图片上时,图片会逐渐放大;当鼠标移开时,图片又会逐渐缩小到原始大小。通过设置不同的参数,可以调整图片变化的速度和范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  1. <html>
  2. <head>
  3. <title>无标题文档</title>
  4. </head>
  5. <body>
  6. <img src="D:/1.jpg" name="img" width="100" height="100" style="margin: 300px 300px 300px 300px;" id="img"  onmouseover="changeLarge();" onmouseout="changesmall();" /> 
  7. <script> 
  8. var img = document.getElementById("img"); 
  9. var s = null
  10. var l = null
  11. var step = 8; //调整改变尺寸的速度 
  12. var step_ = step * 2; 
  13. var maxWidth = 200; //最大宽度 
  14. var maxHeight = 200; //最大高度 
  15. var minWidth = 100; //最小宽度 
  16. var minHeight = 100; //最小高度 
  17. function changeLarge(){  
  18.       clearInterval(s); 
  19.       l = setInterval("larger()",1); 
  20.   } 
  21. function changesmall(){ 
  22.       clearInterval(l); 
  23.       s = setInterval("smaller()",1); 
  24.   } 
  25. function smaller(){ 
  26.       if(parseInt(img.width)>minWidth){ 
  27.         img.style.marginLeft = parseInt(img.style.marginLeft)+step; 
  28.         img.width = parseInt(img.width) - step_; 
  29.       }else
  30.         clearInterval(s); 
  31.       } 
  32.       if(parseInt(img.height)>minHeight){ 
  33.         img.style.marginTop = parseInt(img.style.marginTop)+step; 
  34.         img.height = parseInt(img.height) - step_; 
  35.       }else
  36.         clearInterval(s); 
  37.       } 
  38.   } 
  39. function larger(){ 
  40.       if(parseInt(img.width) <maxWidth){ 
  41.         img.style.marginLeft = parseInt(img.style.marginLeft)-step; 
  42.         img.width = parseInt(img.width) + step_; 
  43.       }else
  44.         clearInterval(l); 
  45.       } 
  46.       if(parseInt(img.height) <maxHeight){ 
  47.         img.style.marginTop = parseInt(img.style.marginTop)-step; 
  48.         img.height = parseInt(img.height) + step_; 
  49.       }else
  50.         clearInterval(l); 
  51.       } 
  52.   } 
  53. </script> 
  54. </body>
  55. </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值