`

JS网页图片查看器-可控制图片放大缩小移动|兼容IE、FF

阅读更多

<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JS网页图片查看器-可控制图片放大缩小还原移动效果</title>
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
<style type="text/css">
body { font-family: "Verdana", "Arial", "Helvetica", "sans-serif"; font-size: 12px; line-height: 180%; }
td { font-size: 12px; line-height: 150%; }
</style>
<SCRIPT language=JavaScript>
drag = 0
move = 0

// 拖拽对象
// 参见:
http://blog.sina.com.cn/u/4702ecbe010007pe
var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var y,x;
var oDragObj;

function moveMouse(e) {
 if (isdrag) {
 oDragObj.style.top  =  (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px";
 oDragObj.style.left  =  (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px";
 return false;
 }
}

function initDrag(e) {
 var oDragHandle = nn6 ? e.target : event.srcElement;
 var topElement = "HTML";
 while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
 oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
 }
 if (oDragHandle.className=="dragAble") {
 isdrag = true;
 oDragObj = oDragHandle;
 nTY = parseInt(oDragObj.style.top+0);
 y = nn6 ? e.clientY : event.clientY;
 nTX = parseInt(oDragObj.style.left+0);
 x = nn6 ? e.clientX : event.clientX;
 document.onmousemove=moveMouse;
 return false;
 }
}
document.onmousedown=initDrag;
document.onmouseup=new Function("isdrag=false");

function clickMove(s){
 if(s=="up"){
  dragObj.style.top = parseInt(dragObj.style.top) + 100;
 }else if(s=="down"){
  dragObj.style.top = parseInt(dragObj.style.top) - 100;
 }else if(s=="left"){
  dragObj.style.left = parseInt(dragObj.style.left) + 100;
 }else if(s=="right"){
  dragObj.style.left = parseInt(dragObj.style.left) - 100;
 }

}

function smallit(){           
  var height1=images1.height;           
  var width1=images1.width;           
  images1.height=height1/1.2;           
  images1.width=width1/1.2;          
}            
   
function bigit(){           
 var height1=images1.height;           
 var width1=images1.width;           
 images1.height=height1*1.2;         
 images1.width=width1*1.2;          
}            
function realsize()
{
 images1.height=images2.height;    
 images1.width=images2.width;
 block1.style.left = 0;
 block1.style.top = 0;
 
}
function featsize()
{
 var width1=images2.width;           
 var height1=images2.height;           
 var width2=360;           
 var height2=200;           
 var h=height1/height2;
 var w=width1/width2;
 if(height1<height2&&width1<width2)
 {
  images1.height=height1;           
  images1.width=width1;          
 }
 else
 {
  if(h>w)
  {
   images1.height=height2;         
   images1.width=width1*height2/height1;          
  }
  else
  {
   images1.width=width2;          
   images1.height=height1*width2/width1;         
  }
 }
 block1.style.left = 0;
 block1.style.top = 0;
}

</SCRIPT>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<style type="text/css">
<!--
td, a { font-size:12px; color:#000000 }
#Layer1 { position:absolute; z-index:100; top: 10px; }
#Layer2 { position:absolute; z-index:1; }
-->
</style>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="init();" oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()" style="overflow-y:hidden;overflow-x:hidden;">
<div id="Layer1">
  <table border="0" cellspacing="2" cellpadding="0">
    <tr>
      <td> </td>
      <td><img src="/Images2008/map/up.gif" width="20" height="20" style="cursor:hand" onClick="clickMove('up')" title="向上"></td>
      <td> </td>
    </tr>
    <tr>
      <td><img src="/Images2008/map/left.gif" width="20" height="20" style="cursor:hand" onClick="clickMove('left')" title="向左"></td>
      <td><img src="/Images2008/map/zoom.gif" width="20" height="20" style="cursor:hand" onClick="realsize();" title="还原"></td>
      <td><img src="/Images2008/map/right.gif" width="20" height="20" style="cursor:hand" onClick="clickMove('right')" title="向右"></td>
    </tr>
    <tr>
      <td> </td>
      <td><img src="/Images2008/map/down.gif" width="20" height="20" style="cursor:hand" onClick="clickMove('down')" title="向下"></td>
      <td> </td>
    </tr>
    <tr>
      <td> </td>
      <td><img src="/Images2008/map/zoom_in.gif" width="20" height="20" style="cursor:hand" onClick="bigit();" title="放大"></td>
      <td> </td>
    </tr>
    <tr>
      <td> </td>
      <td><img src="/Images2008/map/zoom_out.gif" width="20" height="20" style="cursor:hand" onClick="smallit();" title="缩小"></td>
      <td> </td>
    </tr>
  </table>
</div>
<p><br>
<div id='hiddenPic' style='position:absolute; left:0px; top:0px; width:0px; height:0px; z-index:1; visibility: hidden;'><img name='images2' src='/UploadFile/taobao0809/760-480bsx.jpg' border='0'></div>
<div id='block1' onmouseout='drag=0' onmouseover='dragObj=block1; drag=1;' style='z-index:10; height: 0; left: 0px; position: absolute; top: 0px; width: 0' class="dragAble"> <img name='images1' src='/UploadFile/taobao0809/760-480bsx.jpg' border='0'></div>
</body>
</html>

分享到:
评论
1 楼 greatghoul 2009-06-22  
不知为什么,我在ie和ff下都不能正常运行。

相关推荐

    用JS实现和google地图类似的图片查看器-放大、缩小、移动和还原,都控制在div里,兼容ie,FF

    这个查看器将具备放大、缩小、移动和还原图片的功能,并且能够在浏览器的div元素内运行,同时兼容Internet Explorer(IE)和Firefox等主流浏览器。 ### 1. 基本结构与HTML布局 首先,我们需要创建一个HTML页面,...

    JS图片查看器(包括平移、放大缩小、图片旋转功能)支持IE和Firefox

    JavaScript图片查看器是一种基于Web的图像浏览解决方案,它允许用户在网页上查看、操作图片,提供了平移、放大、缩小以及旋转等丰富的交互功能。这种查看器尤其适用于那些需要展示大量或高分辨率图片的网站,比如...

    html图片控制处理放大缩小移动多种案例(源码)

    html图片控制处理放大缩小移动多种案例(附源码),简约图片预览,仿京东图片放大镜效果,图片查看器,可放大缩小,旋转,图片放大镜效果,图片放大缩小查看,图片放大显示,支持滚轮调整大小,图片上下滑动缩略图字幕...

    Silverlight图片放大缩小移动

    在本文中,我们将深入探讨如何在Silverlight应用中实现图片的放大、缩小和移动功能。Silverlight是微软推出的一种富互联网应用程序(RIA)技术,它允许开发者创建具有丰富媒体体验和交互性的Web应用。 首先,我们...

    js图片 放大 缩小 移动 鹰眼

    在JavaScript(JS)中处理图片放大、缩小和移动的功能,通常涉及到HTML5的Canvas元素以及鼠标事件处理。在这个场景下,用户希望实现鼠标滚轮滚动来控制图片的放大和缩小,而原有的功能是通过组合键(Shift + 鼠标...

    Pinchzoom.js插件实现手指触摸图片放大缩小

    Pinchzoom.js 是一个轻量级的JavaScript插件,专门用于处理这种手势交互,使图片在触摸屏设备上能够轻松地进行放大和缩小操作。下面我们将详细介绍Pinchzoom.js的工作原理、使用方法以及如何集成到项目中。 1. **...

    Uniapp 视图容器 随机拖拽滑动 放大缩小 movable-view movable-area

    - 在实际开发中,这种拖拽滑动和放大缩小的功能常用于地图应用、图片查看器、3D 模型预览等场景,提供用户友好的交互体验。 综上所述,`movable-view` 和 `movable-area` 是 UniApp 中实现动态交互界面的重要组件...

    C#开发winform图片放大缩小,类似windows的图片查看器

    结合网上的一些源码和书上的源码弄了个C#开发的winform的简易图片放大缩小。功能:打开图片,支持放大和缩小功能,一开始能展现全图,能无限放大和缩小到原图。保持居中展示。滚动条保持居中。还有一个可以旋转的请...

    uk-co-senab-photoview 支持拖动 双击放大缩小图片

    `uk-co-senab-photoview` 是一个专为Android平台设计的库,它提供了一个图片查看器控件,使得用户可以方便地对图片进行拖动浏览以及双击放大缩小的操作。这个控件极大地提升了应用程序在显示和交互图片方面的功能,...

    图片查看器-jquery插件

    2. 缩放和平移:允许用户通过鼠标或触摸操作来放大、缩小图片,并在图片区域内自由移动。 3. 全屏模式:提供全屏查看功能,让用户可以专注于图片,提高观看体验。 4. 导航控制:展示前后按钮,使用户可以方便地在...

    简单易用的vue图片裁剪插件,支持移动图像,裁剪图片,放大缩小图片,上下左右移动,固定比例,固定尺寸,远程图片裁剪

    - **放大缩小**:提供了缩放功能,让用户在不同尺度下查看和裁剪图片。 - **上下左右移动**:图像可以在水平和垂直方向上自由移动,便于对准裁剪位置。 - **固定比例**:可以设置固定的宽高比,确保裁剪出的图片...

    Android-Android可自由移动放大缩小的图片控件ScaleView

    这个控件适用于那些需要对图片进行详细查看或需要增强用户体验的应用场景,如图片查看器、地图应用等。 首先,我们来看一下`ScaleView`的核心功能。这个控件主要实现了以下几点: 1. **平移(Panning)功能**:用户...

    类似QQ空间看图--大小图片放大缩小居中无偏移例子

    在iOS开发中,实现类似QQ空间的看图功能,即图片可以被用户放大缩小并保持居中,是一项常见的需求。这个功能通常会涉及到`UIScrollView`的使用,因为`UIScrollView`可以提供平移和缩放的功能。`UIScrollView`是苹果...

    Qt QGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小-图片查看.rar

    Qt QGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小_图片查看.rar 文件大小: 1718087 字节 修改时间: 2024年9月2日, 14:32:55 MD5: DC77C0D16EAF92D9F53957DE19E4BD2C SHA1: 91BF2FF1F7333C1C9F6B69EC...

    点击图片放大缩小

    "点击图片放大缩小"的功能就是一个典型的交互设计,它可以让用户更细致地查看图片而不影响页面的整体布局。这个功能通常通过JavaScript实现,因为JavaScript具有良好的动态效果处理能力,并且可以直接操作DOM(文档...

    js仿百度地图放大缩小拖拽查看效果

    这个项目专注于创建一个可拖拽、放大和缩小的地图功能,让我们深入了解一下这些技术细节。 首先,我们要明白地图的基本原理。地图是通过经纬度坐标系统来定位地球表面的点,而Web上的地图通常是通过切片(tiles)...

    上传图片预览-兼容IE6,IE7,IE8,FF

    标题中的“上传图片预览-兼容IE6,IE7,IE8,FF”指的是一个Web开发的技术解决方案,目的是实现图片上传前的预览功能,并确保该功能在早期版本的Internet Explorer(IE6、IE7、IE8)以及Firefox浏览器上都能正常工作...

    网页保存图片并下载到本地 兼容IE浏览器

    在网页开发中,有时我们需要将用户当前浏览的页面保存为图片或者将其下载到本地,以供日后查看或分享。在不支持现代Web API的浏览器,尤其是像Internet Explorer(IE)这样的旧版本浏览器中,实现这一功能可能会面临...

    java实现图片中心放大、缩小、移动、鼠标拖移

    本文将详细讨论如何实现图片的中心放大、缩小、移动以及鼠标拖移功能。首先,我们需要理解Java中的Swing或JavaFX库,这两个库提供了丰富的组件和工具来创建图形界面。 1. **Swing组件**: Swing是Java的标准GUI库...

    vb建议图片查看器源码,可以放大和缩小以及全屏查看

    标题中的“vb建议图片查看器源码,可以放大和缩小以及全屏查看”是指一个基于Visual Basic(VB)开发的图像查看程序,该程序具备基本的图像操作功能,包括图像的放大、缩小以及全屏模式浏览。这个源码对于学习VB编程...

Global site tag (gtag.js) - Google Analytics