js小方框中浏览大图类似google earth效果

作者:misshjn 来源:蓝色理想 时间:2007-10-28 19:30:00 

今天在玩 google earth 4.0b,发现 Print Screen 下来的图片很大,如果直接放在网页上,因为尺寸太大又不合适,又不想压缩图片的尺寸,于是乎就想到了这种方法,没想到实现起来比预想的要容易。这段代码还兼容 firefox

限定滚动的范围,不会出现背景。

用到onmousemove事件,图片实时随鼠标移动而移动。

主要js代码如下:


<script type="text/javascript">
<!--
var p = new Array();
var speed = 0.05;  //速度
var picWidth = 1280;  // 大图的宽高
var picHeight = 971;
var x,y // 鼠标点下去时背景的坐标
var x_new,y_new  //位移
var haveclick = false;

function getmouseposition(event)
{
 if(document.all)
 {
  x = document.body.scrollLeft+event.clientX;
  y = document.body.scrollTop+event.clientY;
 }else
 {
  x = event.layerX;
  y = event.layerY;
 }
 haveclick = true;
}
function movestop()
{
 haveclick = false;
}

function movestart(event)
{
if(haveclick)
{
 if(document.getElementById('pic').style.backgroundPosition.length==0)
  {document.getElementById('pic').style.backgroundPosition="0px 0px";}
 p = document.getElementById('pic').style.backgroundPosition.split(" ")

 if(document.all)
 {
  x_new = document.body.scrollLeft+event.clientX;
  y_new = document.body.scrollTop+event.clientY;
 }else
 { 
  x_new = event.layerX;
  y_new = event.layerY;
 }
 
 x2 = (speed*(x_new-x)+parseInt(p[0])).toString(10);    // 计算位移量
 y2 = (speed*(y_new-y)+parseInt(p[1])).toString(10);
 
 if (x2<-picWidth+420) x2=-picWidth+420;
 if (y2>0) y2=0;
 if (x2>0) x2=0;
 if (y2<-picHeight+300) y2=-picHeight+300;

 document.getElementById('pic').style.backgroundPosition=x2+"px "+y2+"px";
}
}
-->
</script>

运行代码框


 

标签:图片,浏览,鼠标
0
投稿

猜你喜欢

  • 仿google的asp分页代码

    2009-03-08 18:27:00
  • MYSQL和ORACLE的一些操作区别

    2008-12-18 14:33:00
  • asp中设置session过期时间方法总结

    2013-06-01 19:52:04
  • 用Dreamweaver设计Wordpress留言板教程(一)

    2010-03-17 15:44:00
  • 微软的jQuery国际化插件

    2010-07-02 12:46:00
  • Oracle数据库及应用程序优化开发者网络Oracle

    2010-07-18 13:02:00
  • 缓存是如何实现的?

    2009-11-01 15:35:00
  • 客户端和服务端的编码“陷阱”

    2007-12-21 19:19:00
  • asp检测文件编码方法

    2007-10-03 14:27:00
  • ASP与数据库应用(给初学者)

    2009-03-09 18:32:00
  • 判断Session的过期时间 采用JavaScript实时显示剩余多少秒

    2011-04-04 10:48:00
  • 讲解设计应用程序时避免阻塞的八个准则

    2009-01-04 14:16:00
  • SQL Server 总结复习 (二)

    2012-10-07 10:35:00
  • 静态页面实现文章点击数统计的js方法

    2008-01-23 19:17:00
  • 解析:在SQL Server下数据库链接的使用

    2009-01-23 13:37:00
  • 新 API 寻求让 JavaScript 操作本地文件

    2009-11-27 18:28:00
  • ACCESS入门教程:窗口和菜单的使用

    2008-01-03 20:15:00
  • 修改mysql最大连接数的方法

    2010-03-09 13:57:00
  • 如何只取数据库的前3条记录?

    2010-06-28 18:28:00
  • 百度“有啊”首页首次曝光 以绿色调为主

    2008-10-20 12:52:00
  • asp之家 网络编程 m.aspxhome.com