JS控制图片拖动 放大 缩小 旋转 支持滚轮放大缩小 IE有效
<html> <head> <title>图片拖动,放大,缩小,转向</title>
<script type="text/javascript"> /*滚轮事件*/ var scrollFunc=function(e) { e=e || window.event; if(e.wheelDelta) { if(e.wheelDelta > 0) imgToSize(0);//缩小图片 else imgToSize(1);//放大图片 } else { if(e.detail < 0) imgToSize(1);//放大图片 else imgToSize(0);//缩小图片 } } if(document.addEventListener){document.addEventListener('DOMMouseScroll',scrollFunc,false);} window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari
function realSize(){ var oImg = document.all('oImg'); var newImg = new Image(); newImg.src = oImg.src; oImg.style.height = newImg.height+"px"; oImg.style.width = newImg.width+"px"; }
// 缩放图片 function imgToSize(oBool) { var oImg = document.all('oImg'); oImg.style.zoom = parseInt(oImg.style.zoom) + (oBool ? 5 : -5) + '%'; } // 旋转图片 var rotateRight = 1;//右转 var rotateLeft = 3;//左转 function imgRoll(direction) { var oImg = document.all('oImg'); if(direction == "left") { oImg.style.filter = 'Progid:DXImageTransform.Microsoft.BasicImage(Rotation='+ rotateLeft +')'; rotateLeft -= 1; rotateLeft = rotateLeft== 0 ? 4 : rotateLeft ; }else{ oImg.style.filter = 'Progid:DXImageTransform.Microsoft.BasicImage(Rotation='+ rotateRight +')'; rotateRight += 1; rotateRight = rotateRight==4 ? 0 : rotateRight ; } } // 翻转图片 function imgReverse(arg) { var oImg = document.all('oImg'); oImg.style.filter = 'Flip' + arg; } // 拖动图片 var oBoolean = false, oLeftSpace = 0, oTopSpace = 0; function mStart() { oBoolean = true; if (oBoolean) { var oImg = document.all('oImg'); oLeftSpace = window.event.clientX - oImg.style.pixelLeft; oTopSpace = window.event.clientY - oImg.style.pixelTop; } } function mEnd() { oBoolean = false; } function document.onmousemove() { if (window.event.button==1 && oBoolean) { var oImg = document.all('oImg'); oImg.style.pixelLeft = window.event.clientX - oLeftSpace; oImg.style.pixelTop = window.event.clientY - oTopSpace; return false; } } </script>
</head> <body> <table> <tr> <td> <div style="position: relative; z-index: 1000;"> <input type="button" value="放大" onclick="imgToSize(1);"> <input type="button" value="缩小" onclick="imgToSize(0);"> <input type="button" value="原大小" onclick="realSize();"> <input type="button" value="左旋转" onclick="imgRoll('left');"> <input type="button" value="右旋转" onclick="imgRoll('right');"> <input type="button" value="水平翻转" onclick="imgReverse('H');"> <input type="button" value="垂直翻转" onclick="imgReverse('V');"> </div> </td> </tr> <tr> <td> <div align="center"> <img id="oImg" src="data:images/save.jpg" style="position: relative; zoom: 100%; cursor: move;" onmousedown="mStart();" onmouseup="mEnd();"> </div> </td> </tr> </table> </body> </html>
JS控制图片拖动 放大 缩小 旋转 支持滚轮放大缩小 IE有效的更多相关文章
- js 控制图片大小核心讲解
控制图片大小的方法有很多,在本文将为大家详细介绍下使用js实现缩放图片,核心代码如下,感兴趣的朋友可以参考下 缩放图片脚本分享 <!DOCTYPE HTML PUBLIC "-//W3 ...
- [css或js控制图片自适应]
[css或js控制图片自适应]图片自动适应大小是一个非常常用的功能,在进行制作的时候为了防止图片撑开容器而对图片的尺寸进行必要的控制,我们可不可以用CSS控制图片使它自适应大小呢?此个人博客想到了一个 ...
- js控制图片自动缩放,实现铺满盒子,不变形,完全局中
此js一般用于控制图片铺满盒子,但是比例不变,并且绝对局中原理:判断图片的高宽与盒子高宽的大小的关系,然后通过比例来控制图片的缩放及定位<!DOCTYPE html PUBLIC "- ...
- js控制图片放大缩小的简易版
js代码: function bb_img_onmousewheel(e, o) { var zoom = parseInt(o.style.zoom, 10) || 100; zoom += eve ...
- spin.js无图片实现loading进度条,支持但非依赖jquery
特点: 1.无图片,无外部CSS 2.无依赖(支持jQuery,但非必须) 3.高度可配置 4.分辨率无关 5.旧版本IE不支持时,采用VML支持 6.使用关键帧动画,采用setTimeout() 7 ...
- Android -- ImageView(控制图片的大小以及旋转的角度)
1.
- 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
基于css3新属性transform,实现3d立方体的旋转 通过原生JS,点击事件,鼠标按下.鼠标抬起和鼠标移动事件,实现3d立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠 ...
- js控制图片缩放、水平和垂直方向居中对齐
已測试兼容 IE6,IE7,IE8,火狐FF,谷歌chrome. 这里使用了jquery插件,假设你不使用jquery,略微改造一下也非常快. 网上查了些资料,用css控制兼容性不好,看去非常揪心.于 ...
- JS控制图片显示的大小(图片等比例缩放)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 怎样使android的view动画循环弹动
在res中建立文件夹anim,分别写下cycles.xml,shake1.xml,shake2.xml cycles.xml: <?xml version="1.0" enc ...
- 1)Java JDK和JRE
>JRE : Java Runtime Enviroment Java的运行环境.面向Java程序的使用者,而不是开发者.如果你仅下载并安装了JRE,那么你的系统只能运行Java程序(不能 ...
- Laravel 5 基础(五)- 环境与配置
.env 文件是配置文件,包括数据库配置信息,查看 config->database.php ,connections 里面包含了所有数据库的配置,可以在 default 中选择要使用的数据库. ...
- 清空FORM表单的几种方式 Reset 重加载
1. form中定义name <form name = "sbform" action="sb_add.php" method="post&qu ...
- ARM时钟初始化
2440: S3C2440可以使用外部晶振(XTIpll)(默认为12MHZ)和外部时钟(EXTCLK)两种方式输入时钟信号.它由跳线OM[3:2]决定.S3C2440 默认的工作主频为12MHz(晶 ...
- java 复习
整型: byte 1 short 2 int 4 long 80b1001 1_233_32 1341414141414Ljava 没有无符号类型浮点型:float 4 double 812.2f 无 ...
- 仿SDWebImage
仿SDWebImage 目标:模拟 SDWebImage 的实现 说明:整体代码与之前博客上的演练代码的基本一致,只是编写顺序会有变化! 在模仿 SDWebImage 之前,首先需要补充一个知识点:N ...
- DB2行转列(多维度)
多维度下进行行列转换,下面的行列转换时根据客户,所属银行机构进行的行列转换. -----------------建表 CREATE TABLE CUST_BANK_INFO ( CUST_ID ), ...
- esp和ebp详解
最近在研究栈帧的结构,但总是有点乱,所以写了一个小程序来看看esp和ebp在栈帧中的作用.这个程序如下: 这个程序很简单,就是求两个数的值,然后输出即可.所以首先把它用gcc编译链接成a.out,进入 ...
- iOS 数据库持久化
Java代码 -(void) addObserver{ //当程序进入后台时执行操作 UIApplication *app = [UIApplication sharedApplication]; [ ...