现在的位置: 首页 > 综合 > 正文

用JS实现和google地图一样的图片查看器—–图片放大、缩小、移动和还原,都控制在一个div层里,兼容ie7,FF

2013年06月11日 ⁄ 综合 ⁄ 共 4182字 ⁄ 字号 评论关闭

<!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=utf-8" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<title>用JS实现和google地图一样的图片查看器-----图片放大、缩小、移动和还原,都控制在一个div层里,兼容ie7,FF</title>
<style type="text/css">
.boldhead{ font-weight:bold; font-size: 24px; text-align:center; padding:20px}
.pichead{overflow:auto; height:100px; width:96%; font-size:14px; font-weight:bold; margin:auto auto auto auto; border:2px solid #0066CC; background:#FFFFFF; padding-top:10px; padding-bottom:10px;}
.pichead li{float:left;margin:5px;width:400px;}
.picview { width:96%; margin:auto auto auto auto; text-align:center; border-bottom: solid 2px #0066CC; border-left:solid 2px #0066CC; border-right:solid 2px #0066CC; background:#FFFFFF; height:500px; overflow:hidden; }
.picview img{width:700px; cursor: move; margin:15px; z-index:1; border:8px solid #D8D8D8;}
#contral{ position: absolute;z-index:10; left:15px; top:240px;}
#contral img{ width:auto; margin:auto; cursor:auto; width:20px; border:0px;}
#contral ul{width: 88px;}
#contral li{width:26px; height:26px; float:left; list-style:none;}
</style>
<!--
From:http://blog.csdn.net/kingerq
Created date:2009-04-09
Programmer:多菜鸟
Function:
用JS实现和google地图一样的图片查看器-----图片放大、缩小、移动和还原,都控制在一个div层里,兼容ie7,FF
-->
</head>

<body>
<div class="boldhead">用JS实现和google地图一样的图片查看器<br />-----图片放大、缩小、移动和还原,都控制在一个div层里,兼容ie7,FF</div>

<div class="pichead">
  <ul>
    <li><a href="#" onClick="changeImage('Sunset.jpg');return false;">Sunset.jpg</a></li>
    <li><a href="#" onClick="changeImage('Water lilies.jpg');return false;">Water lilies.jpg</a></li>
    <li><a href="#" onClick="changeImage('Blue hills.jpg');return false;">Blue hills.jpg</a></li>
    <li><a href="#" onClick="changeImage('Winter.jpg');return false;">Winter.jpg</a></li>
  </ul>
</div>

<div id="picview" class="picview">
  <div id="contral">
    <ul>
      <li></li>
      <li><img src="up.gif" onClick="clickMove('up')" title="UP"></li>
      <li></li>
      <li><img src="left.gif" onClick="clickMove('left')" title="LEFT"></li>
      <li><img src="zoom.gif" onClick="realsize();" title="FULL SIZE"></li>
      <li><img src="right.gif" onClick="clickMove('right')" title="RIGHT"></li>

      <li></li>
      <li><img src="down.gif" onClick="clickMove('down')" title="DOWN"></li>
      <li></li>
      <li></li>
      <li><img src="zoom_in.gif" onClick="bigit();" title="ZOOM IN"></li>
      <li></li>
      <li></li>
      <li><img src="zoom_out.gif" onClick="smallit();" title="ZOOM OUT"></li>
      <li></li>

    </ul>
  </div>
  <img src="Sunset.jpg" alt="Moving" name="viewArea" id="viewArea" />
  </div>
<!--div id="mouseData"></div-->
</body>
</html>
<script language="javascript">
var rate = 0.2;
var pp = document.getElementById("viewArea");
var vv = document.getElementById("picview");

var ie=document.all;
var nn6=document.getElementById&&!document.all;
var isdrag=false;
var y,x;
var st,sl;

function moveMouse(e) {
 if (isdrag) {
 var mouseX = nn6 ? e.clientX : event.clientX;
 var mouseY = nn6 ? e.clientY : event.clientY;
 
 vv.scrollTop = st+(y-mouseY);
 vv.scrollLeft = sl+(x-mouseX);
 //document.getElementById('mouseData').innerHTML = "x="+x+" y="+y+" x-mouseX="+(x-mouseX)+" y-mouseY="+(y-mouseY);
 return false;
 }
}

function initDrag(e) {
 var oDragHandle = nn6 ? e.target : event.srcElement;
 isdrag = true;
 x = nn6 ? e.clientX : event.clientX;
 y = nn6 ? e.clientY : event.clientY;
 
 st = vv.scrollTop;
 sl = vv.scrollLeft;

 document.onmousemove = moveMouse;
 return false;
}
pp.onmousedown=initDrag;
pp.onmouseup=new Function("isdrag=false");

function bigit(){
  pp.style.height = pp.height*(1+rate)+"px";
  pp.style.width = pp.width*(1+rate)+"px";
}
function smallit(){
  pp.style.height = pp.height*(1-rate)+"px";
  pp.style.width = pp.width*(1-rate)+"px";
}

function realsize(){
  var newImg = new Image();
  newImg.src = pp.src;
  pp.style.height = newImg.height+"px";
  pp.style.width = newImg.width+"px";
}

function clickMove(s){
 if(s=="up"){
  vv.scrollTop = vv.scrollTop-100;
 }else if(s=="down"){
  vv.scrollTop = vv.scrollTop+100;
 }else if(s=="left"){
  vv.scrollLeft = vv.scrollLeft-100;
 }else if(s=="right"){
  vv.scrollLeft = vv.scrollLeft+100;
 }
}

function changeImage(path){
  pp.src = path;
  pp.style.width = "600px";
  vv.scrollTop = 0;
  vv.scrollLeft = 0;
}

</script>
 

 

 

 
压缩包下载地址:http://d.download.csdn.net/down/1192740/kingerq

抱歉!评论已关闭.