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/ ...
随机推荐
- Oracle 分区表的统计信息实例
ORACLE的统计信息在执行SQL的过程中扮演着非常重要的作用,而且ORACLE在表的各个层次都会有不同的统计信息,通过这些统计信息来描述表的,列的各种各样的统计信息.下面通过一个复合分区表来说明一些 ...
- 【微信平台&后台管理】第一个外包项目:XX科技城微信平台项目总结
苍天有眼啊,学了半年的网站开发终于派上用处,终于能赚钱了啊. 这个项目是和学长一起做的,项目的甲方是大庆某房地产土豪,项目要求就是搭建一整套的微信平台和微信平台管理系统,具体要求就是:回复关键字能拿到 ...
- wamp环境搭建
php 进入php安装目录. 修改php.ini-developement为php.ini 配置扩展目录为你的PHP安装目录下的ext目录,在我这里是 extension_dir = "C: ...
- [转]pro*c/c++编译错误 ” error: sqlca.h: No such file or directory “ 的解决办法
$ gcc -o test test.c 出现错误:error: sqlca.h: No such file or directory [解决方法]知道 sqlca.h 在 $ORACLE_HOME/ ...
- Oracle结果集 (MSSQL存储过程写报表)
接触SQL Server比较多,写报表是用存储过程实现. 对Oracle实现像MSSQL那样,还是有很多疑问
- Python 以正确的宽度在盒子中居中打印一个字符
注意://为整除的意思 代码: # -*- coding:UTF-8 -*- sentence = input("Sentence:") screen_width = 80 tex ...
- arcgis中注记的高级处理
在实际制图过程中,常遇到一个图层的多个要素展示,将标注转换为注记的之后,可以对注记进行移动调整位置等手动更改.这样为避免重复地移动注记位置.可以采用如下方案: 1.将图层标注转换为注记 2.将注记存储 ...
- iOS-CALayer
iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...
- c/c++常用代码--使用libcurl下载文件
#pragma once #include <stdio.h>#include <stdlib.h> #include <curl/curl.h> #ifdef ...
- 如何让webapi只返回json格式数据
最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Registe ...