关键字: 可局部放大图片 局部放大图片 javascript局部放大图片

因为功能上的需要,要局部放大页面上的图片,以看清图片中不清楚的位置

代码复制到.jsp或.html文件里执行就可看到效果

一、这个局部放大只能通过改代码才能实现图片放大的倍率,但是速度很好,鼠标在图片上动放大的图片及时显示,在下面我再发一个可通过鼠标点击图片放大缩小局部放大图片的效果的代码,但速度没有这个快

Html代码
  1. <html>
  2. <head>
  3. <title>emu</title>
  4. </head>
  5. <body>
  6. <BR>
  7. 原图:<BR>
  8. <img src="http://reimg.360quan.com/400/300/album/album.static.360quan.com/019/731/51/200711091844017907.jpg"
  9. onmousemove='zoom()' id=srcImg>
  10. <BR>
  11. 局部放大图:<BR>
  12. <div style='overflow:hidden'><img id=zoomImg></div>
  13. <script language="javascript" type="text/javascript">
  14. <!--
  15. zoomImg.src = srcImg.src;
  16. srcImgsrcImg.height = srcImg.height;
  17. var zoomRate = 5;
  18. zoomImg.height = srcImg.height*zoomRate;
  19. zoomImg.parentNode.style.width = srcImg.width;
  20. zoomImg.parentNode.style.height = srcImg.height;
  21. function zoom(){
  22. var elm = event.srcElement;
  23. h = elm.offsetHeight/zoomRate/2;
  24. w = elm.offsetWidth/zoomRate/2;
  25. var x = event.x-elm.offsetLeft;
  26. xx=x<(elm.offsetWidth-w)?x<w?w:x:elm.offsetWidth-w;
  27. zoomImg.style.marginLeft=(w-x)*zoomRate;
  28. var y = event.y-elm.offsetTop;
  29. yy=y<(elm.offsetHeight-h)?y<h?h:y:elm.offsetHeight-h;
  30. zoomImg.style.marginTop=(h-y)*zoomRate;
  31. }
  32. //-->
  33. </script>
  34. </body>
  35. </html>
<html>
<head>
<title>emu</title>
</head>
<body>
<BR>
原图:<BR>
<img src="http://reimg.360quan.com/400/300/album/album.static.360quan.com/019/731/51/200711091844017907.jpg" οnmοusemοve='zoom()' id=srcImg>
<BR>
局部放大图:<BR>
<div style='overflow:hidden'><img id=zoomImg></div><script language="javascript" type="text/javascript">
<!--
zoomImg.src = srcImg.src;
srcImg.height = srcImg.height;
var zoomRate = 5;
zoomImg.height = srcImg.height*zoomRate;
zoomImg.parentNode.style.width = srcImg.width;
zoomImg.parentNode.style.height = srcImg.height;
function zoom(){
var elm = event.srcElement;
h = elm.offsetHeight/zoomRate/2;
w = elm.offsetWidth/zoomRate/2;
var x = event.x-elm.offsetLeft;
x=x<(elm.offsetWidth-w)?x<w?w:x:elm.offsetWidth-w;
zoomImg.style.marginLeft=(w-x)*zoomRate;
var y = event.y-elm.offsetTop;
y=y<(elm.offsetHeight-h)?y<h?h:y:elm.offsetHeight-h;
zoomImg.style.marginTop=(h-y)*zoomRate;
}
//-->
</script>
</body>
</html>

二、这个可通过鼠标点击图片放大缩小局部放大的图片的效果的代码,但速度稍微慢点

Html代码
  1. <html>
  2. <head>
  3. <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
  4. <title>标本资料</title>
  5. <script language="javascript">
  6. var iDivHeight = 250;
  7. var iDivWidth = 250;
  8. var iMultiple = 8;
  9. function show(src, sFileName)
  10. {
  11. if ((event.button == 1) && (event.ctrlKey == true))
  12. iMultiple -= 1;
  13. else
  14. if (event.button == 1)
  15. iMultiple += 1;
  16. if (iMultiple < 2) iMultiple = 2;
  17. if (iMultiple > 14) iMultiple = 14;
  18. var iPosX, iPosY;
  19. var iMouseX = event.offsetX;
  20. var iMouseY = event.offsetY;
  21. var iBigImgWidth = src.clientWidth * iMultiple;
  22. var iBigImgHeight = src.clientHeight * iMultiple;
  23. if (iBigImgWidth <= iDivWidth)
  24. {
  25. iPosX = (iDivWidth - iBigImgWidth) / 2;
  26. }
  27. else
  28. {
  29. if ((iMouseX * iMultiple) <= (iDivWidth / 2))
  30. {
  31. iPosX = 0;
  32. }
  33. else
  34. {
  35. if (((src.clientWidth - iMouseX) * iMultiple) <= (iDivWidth / 2))
  36. {
  37. iPosX = -(iBigImgWidth - iDivWidth);
  38. }
  39. else
  40. {
  41. iPosX = -(iMouseX * iMultiple - iDivWidth / 2);
  42. }
  43. }
  44. }
  45. if (iBigImgHeight <= iDivHeight)
  46. {
  47. iPosY = (iDivHeight - iBigImgHeight) / 2;
  48. }
  49. else
  50. {
  51. if ((iMouseY * iMultiple) <= (iDivHeight / 2))
  52. {
  53. iPosY = 0;
  54. }
  55. else
  56. {
  57. if (((src.clientHeight - iMouseY) * iMultiple) <= (iDivHeight / 2))
  58. {
  59. iPosY = -(iBigImgHeight - iDivHeight);
  60. }
  61. else
  62. {
  63. iPosY = -(iMouseY * iMultiple - iDivHeight / 2);
  64. }
  65. }
  66. }
  67. div1.style.height = iDivHeight;
  68. div1.style.width = iDivWidth;
  69. if (div1.innerHTML == "")
  70. {
  71. div1.innerHTML = "<img id=BigImg style='position:relative'>";
  72. BigImg.src = "http://biomuseum.zsu.edu.cn/ASP/search/hexapod/big_pic/" + sFileName;
  73. }
  74. BigImg.width = iBigImgWidth;
  75. BigImg.height = iBigImgHeight;
  76. BigImg.style.top = iPosY;
  77. BigImg.style.left = iPosX;
  78. }
  79. </script>
  80. </head>
  81. <body>
  82. <p></p>
  83. <table cellspacing="0" cellpadding="1" width="727" align="center" border="0">
  84. <tr>
  85. <td align="middle">
  86. <table bordercolor="#000000" height="301" cellspacing="0" cellpadding="0" width="302" bgcolor="#deffde" border="1">
  87. <tr>
  88. <td align="middle">
  89. <marquee scrolldelay="120" width="80%"><font size="2">将鼠标移入标本图中,右方显示局部放大图;单击鼠标左键,可以增大放大倍数;鼠标单击时同时按Ctrl键则减小放大倍数。</font></marquee><br>
  90. <img onmousemove="show(this, 'B-000002.jpg')" onmousedown="show(this, 'B-000002.jpg')" id="imgSource" src="01/B-000002.jpg">
  91. </td>
  92. </tr>
  93. </table>
  94. </td>
  95. <td style="WIDTH: 15px" width="15"></td>
  96. <td align="middle">
  97. <table bordercolor="#000000" height="301" cellspacing="0" cellpadding="0" width="302" bgcolor="#deffde" border="1">
  98. <tr>
  99. <td align="middle"><a href="01/B-000002.jpg" target="_blank">打开原图</a>
  100. <div id="div1" style="OVERFLOW: hidden">
  101. </div>
  102. </td>
  103. </tr>
  104. </table>
  105. </td>
  106. </tr>
  107. </table>
  108. <p></p>
  109. </body>
  110. </html>

转载于:https://www.cnblogs.com/worfdream/archive/2010/08/15/1800145.html

可局部放大图片的例子,局部放大图片,javascript局部放大图片相关推荐

  1. javascript判断图片是否加载完成方法整理

    有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载 ...

  2. asp.net mvc下的多语言方案 包含Html,Javascript和图片

    在网上查阅了众多方案,觉得路过秋天的方案 解耦性比较好,可以不使用微软的Resource文件,而是将所有的词汇放入在一个txt的词典之中,便于维护. 步骤如下: 1)在整个程序的入口处global.a ...

  3. 使用Javascript获取图片坐标以及宽度高度的方法

    首先说下获取图片宽度与长度的问题: <script type="text/javascript">function lpimgClick(img,event){var ...

  4. [转]【Android】9-patch图片以及例子说明

    1.何为9-patch? NinePatch图片以*.9.png结尾,和普通图片(png图片)的区别是四周多了一个边框(如下图所示): 采用NinePatch图片做背景,可使背景随着内容的拉伸(缩小) ...

  5. 用JavaScript实现图片剪切效果

    学会如何获取鼠标的坐标位置以及监听鼠标的按下.拖动.松开等动作事件,从而实现拖动鼠标来改变图片大小. 还可以学习css中的clip属性. 一.CSS实现图片不透明及裁剪效果. 图片剪切三层结构 1.第 ...

  6. html实现图片加载动画效果,HTML5+javascript实现图片加载进度动画效果

    在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个. 图片加载完后,隐藏loading效果. 想看加载效果,请ctrel+F5强制刷新或者清理缓存. 效果预览: 0% 代码如下: ...

  7. JavaScript导出图片和数据到Excel

    JavaScript导出图片和数据到Excel 以下方法可以利用json数据将图片地址生成图片导出到Excel,同样也可以将数据导出到Excel.解决网上许多方法关于导出图片到Excel却无法让图片在 ...

  8. JavaScript实现图片旋转构成3D圆环代码

    代码简介: 很炫的图片展示特效,由一组图片构成一个3D的圆环状,并自动旋转,鼠标放到某一图片上会自动停止,JavaScript 的功能真够强大,你是不是后悔没有学好JS呢? 代码内容: View Co ...

  9. javascript 获取图片原始尺寸

    javascript 获取图片原始尺寸 1 function getImgInfo(url){ 2 var img = new Image(), loaded = false; 3 var info ...

  10. 怎样在JavaScript添加图片

    想要使用JavaScript添加图片,可以先使用createElement()方法创建一个img元素,并向img元素的src属性赋图片的URL地址值:然后使用appendChild()方法将img元素 ...

最新文章

  1. python搞笑代码-为PYTHON添加define功能【搞笑代码】
  2. spring data jpa实现分页查询功能
  3. CodeForces - 1422E Minlexes(dp+字符串)
  4. html5播放视频只有声音不出现画面?
  5. 动态规划——最长公共子串,没有比这更通俗易懂的了
  6. java有道翻译_Java 调用 有道翻译API
  7. AAA 及 RADIUS/HWTACACS 协议配置
  8. 天善SVIP五折狂欢!今年双十一终于不用剁手了
  9. absolute之后居中宽度自适应
  10. 规则引擎 drools_Drools的入门初探
  11. 两种方案实现word转pdf
  12. Unity中文API文档离线下载
  13. 公司管理使用的文档[1]-软件技术服务合同模板
  14. linux 虚拟机网卡配置
  15. C语言中char s[] 和 char *s的区别
  16. 2008年度江苏地税纳税百强企业名单
  17. oracle漏洞修补,01-oracle漏洞修复
  18. PHPUnit简介及使用
  19. HTML5--入门介绍
  20. ElasticSearch 监控单个节点详解

热门文章

  1. pytest文档4-测试用例setup和teardown
  2. 计算机体系、语言的基础认识
  3. 【转】中间语言(IL)和即时编译器(JIT)的关系剖析
  4. 【转】解密微软的架构师之路
  5. 【BZOJ5082】弗拉格 矩阵乘法
  6. Python对文本文件的简单操作(一)
  7. Vue.js 2.0 和 React、Augular等其他框架的全方位对比
  8. 博客开通,以后大家多来玩啊!
  9. 企业库2.0培训系列课程大纲[意见征询]
  10. python-- python threadpool 的前世今生