Javascript实现小方框中浏览大图特效

javascript|特效

今天在玩 google earth 4.0b,发现 Print Screen 下来的图片很大,如果直接放在网页上,因为尺寸太大又不合适,又不想压缩图片的尺寸,于是乎就想到了这种方法,没想到实现起来比预想的要容易。这段代码还兼容 firefox。
限定滚动的范围,不会出现背景。
用到onmousemove事件,图片实时随鼠标移动而移动。

运行代码框

<!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=gb2312" /><title>无标题文档</title><style type="text/css"><!--#pic {width:420px;height:300px;border: 3px solid #ccc;background-image: url(01.jpg);background-repeat: no-repeat;background-position: 0px 0px;cursor: move;}--></style><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></head><body><div id="pic" onmousemove="movestart(event)" > </div></body></html>

    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

时间: 2024-09-27 13:53:13

Javascript实现小方框中浏览大图特效的相关文章

用javascript实现在小方框中浏览大图的代码_javascript技巧

<!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-

Word怎样在小方框中打勾或打叉对错符号

  一.打开文档点击"插入",右边"符号" 二.在符号框的字体是选择"Wingdings 2"滑动滚动条即可找到选定"插入" 三.在下面我们可以看到已插入的对错小框框符号. 如图所示,是不是出来了.

Word2013怎样在小方框中打勾或打叉

  选取符号的步骤如下: 一.打开文档点击"插入",右边"符号" 二.在符号框的字体是选择"Wingdings 2"滑动滚动条即可找到选定"插入" 三.在下面我们可以看到已插入的对错小框框符号.

PHP中实现大图自动缩成小图(及GD库的安装)

PHP中实现大图自动缩成小图(及GD库的安装)UB 2001.10.11 我觉得网络编程与普通编程最大的区别就是,网络编程除了具备普通编程的特性外,还要花很大精力考虑速度的问题.网站上需要很多图片,现在有很多给用户存放照片,图片的"像册"程序,可以让用户自己上传图片,然后自动缩成小图,可以让你在一个页面看到很多小图,然后点击小图看大图.注意:在网页中指定长宽显示图片,只能让图片以小尺寸显示,但是大小(容量)不变(可以看看属性),速度自然很慢.真正的缩图是把大图的大小(容量)变小,就是重

jquery实现移动端点击图片查看大图特效_jquery

本文的需求很简单:点击图片查看大图,再点大图隐藏.多用于移动端,因为移动端屏幕小,可能需要查看大图. 具体实现代码 <!DOCTYPE html> <html> <meta charset="utf-8"/> <head runat="server"> <title>JQuery点击图片查看大图by starof</title> <style type="text/css&quo

Javascript常用小技巧汇总

  本文实例讲述了Javascript常用小技巧.分享给大家供大家参考.具体分析如下: 一.True 和 False 布尔表达式 下面的布尔表达式都返回 false: null undefined '' 空字符串 0 数字0 但小心下面的, 可都返回 true: '0' 字符串0 [] 空数组 {} 空对象 下面段比较糟糕的代码: 代码如下: while (x != null) { 你可以直接写成下面的形式(只要你希望 x 不是 0 和空字符串, 和 false): 代码如下: while (x

在JavaScript的AngularJS库中进行单元测试的方法

这篇文章主要介绍了在JavaScript的AngularJS库中进行单元测试的方法,主要针对AngularJS中的控制器相关,需要的朋友可以参考下 开发者们都一致认为单元测试在开发项目中十分有好处.它们帮助你保证代码的质量,从而确保更稳定的研发,即使需要重构时也更有信心. 测试驱动开发流程图 AngularJS的代码声称其较高的可测性确实是合理的.单单文档中列出端对端的测试实例就能说明.就像AngularJS这样的项目虽然都说单元测试很简单但真正做好却不容易.即使官方文档中以提供了详尽的实例,但

在Excel或Word文档方框中打勾符号的6种方法

在我们的工作中经常要处理一些选择性的表格,比如一些统计表,要求在方框内打钩或打叉,手工处理很简单,但是现在往往还得交上一份电子表,那么如何在word中实现打钩打叉呢?其实方法有很多! 方法一: 1.右击工具栏-勾选"控件工具栏",将打开"控件工具栏"或点Word"视图"菜单,在"工具栏"项中点"控件工具箱"; 2.在控件工具栏中找到"复选框"控件; 3.单击这个按钮之后,会在当前光标位置

在文档方框中打勾符号的6种方法

word或excel文档中方框内打钩的解决办法 在我们的工作中经常要处理一些选择性的表格,比如一些统计表,要求在方框内打钩或打叉,手工处理很简单,但是现在往往还得交上一份电子表,那么如何在word中实现打钩打叉呢?其实方法有很多! 方法一: 1.右击工具栏-勾选"控件工具栏",将打开"控件工具栏"或点Word"视图"菜单,在"工具栏"项中点"控件工具箱"; 2.在控件工具栏中找到"复选框"