图片居中按比例显示、鼠标滚动缩放、鼠标拖动平移

1.为了居中显示,考虑到div不好设置,用table做边框

缩放原理:调整图片宽高、定位left、top;

平移:鼠标事件位置、定位left、top。

目前贴出实现代码,具体研究内容再做补充

下面是源码

<!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" />
<title></title>
<script src=‘/js/jquery-1.7.2.min.js‘ type=‘text/javascript‘></script>
    <style>
	html,body {
			margin:0;
			height:100%;
		}       //图片绝对定位,平移时使用
        #box {
            position:absolute;
        }
    </style>
</head>
<body>
<table style="height:100%;width:100%;" id="tabID" >
		<tr >
			<td style="text-align:center;vertical-align:middle;">
	<img src="/images/a.png"  id="box"  onmousewheel="return bbimg(this)"  />
</td>
	</tr>
</table>

    <script type="text/javascript">
		// img缩放 -->
     function bbimg(o){    //下面3行代码也可以缩放,但是跟position:absolute冲突,会导致图片的left、top定死,只能往右往下缩放
  // var zoom=parseInt(o.style.zoom, 10)||100;   // zoom+=event.wheelDelta/12;   //if (zoom>0) o.style.zoom=zoom+‘%‘;   var w=o.width;   var h=o.height;   if(event.wheelDelta>0){//放大 wheelDelta大于0是滚轮往下,小于滚轮往上    o.width=w*1.3;     o.height=h*1.3;     var left=o.offsetLeft;     var top=o.offsetTop;     o.style.left=left-(0.3 * w)/2+"px";     o.style.top=top-(0.3 * h)/2+"px";   }else{     o.width=w*0.7;     o.height=h*0.7;     var left=o.offsetLeft;     var top=o.offsetTop;     o.style.left=left+(0.3 * w)/2+"px";     o.style.top=top+(0.3 * h)/2+"px";   }   return false; } //初始设置图片显示、位置function AutoResizeImage(maxWidth,maxHeight,objImg){ var img = new Image(); img.src = objImg.src; var hRatio; var wRatio; var Ratio = 1; var w = img.width; var h = img.height; wRatio = maxWidth / w; hRatio = maxHeight / h; if (maxWidth ==0 && maxHeight==0){ Ratio = 1; }else if (maxWidth==0){   if (hRatio<1) Ratio = hRatio; }else if (maxHeight==0){   if (wRatio<1) Ratio = wRatio; }else if (wRatio<1 || hRatio<1){   Ratio = (wRatio<=hRatio?wRatio:hRatio); } if (Ratio<1){   w = w * Ratio;   h = h * Ratio; } objImg.height = h; objImg.width = w; objImg.style.left=(maxWidth-w)/2+"px"; objImg.style.top=(maxHeight-h)/2+"px"; } //拖动 var oDiv = document.getElementById("box"); oDiv.onmousedown=function(ev) {    var oEvent = ev||event;    var disX = oEvent.clientX - oDiv.offsetLeft;   var disY = oEvent.clientY - oDiv.offsetTop;   document.onmousemove=function (ev) {     oEvent = ev||event; //360兼容模式不识别ev,故拼上event    oDiv.style.left = oEvent.clientX -disX+"px";     oDiv.style.top = oEvent.clientY -disY+"px";     return false;   }   document.onmouseup=function(){     document.onmousemove=null;     document.onmouseup=null;   }   return false; } </script> </body> </html>

  

时间: 2024-10-31 09:10:39

图片居中按比例显示、鼠标滚动缩放、鼠标拖动平移的相关文章

图片的按比例显示

1.获取手机当前分辨率 1.1 1 WindowManager wm=(WindowManager)getSystemService(WINDOW_SERVICE); 2 Point point=new Point(); 3 wm.getDefaultDisplay().getSize(point); 4 int height=point.x; 5 int weight=point.y; 1.2 1 WindowManager wm = (WindowManager)getSystemServi

Android Studio IDE 按下Ctrl + 鼠标滚动 缩放编辑文本的大小

Settings->Editor->General 勾选Change font size(Zoom)with Ctrl+Mouse Wheel!

iOS图片如何按比例显示

文/罚难(简书作者)原文链接:http://www.jianshu.com/p/ec7d3f210983著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 只需加这么一段代码,如下: imageView.contentMode = UIViewContentModeScaleAspectFit; imageView.autoresizesSubviews = YES; imageView.autoresizingMask = UIViewAutoresizingFlexibleLef

鼠标滚动--阻止鼠标滚动区域滚到底后影响到外面滚动

1 onmousewheel="var event = window.event || arguments.callee.caller.arguments[0];if(event.preventDefault) event.preventDefault();var delta = event.wheelDelta || event.originalEvent.wheelDelta || event.originalEvent.detail;var k = delta? delta:-delta*

前端jquery实现点击图片弹出大图层(且滚动鼠标滑轮图片缩放)

<img src="{$vo.photo}" height="50px" onclick="showdiv({$i});"> <div id="bg"></div> <div id="show{$i}" class="show" style="display:none;"> <img src="{$vo.

弹性盒子布局解决不规则图片的等比例缩放的利器!

我们经常遇到这种需求: 在一个固定大小(固定比例)的容器里面展示图片,图片的大小比例都不是固定的,需要按容器的比例等比例缩图片上下左右居中显示. 在没有弹性盒子布局的年代,额的做法: 1:水平居中,非常好解决,容器 text-align: center; 2:垂直居中,容器display: table-cell; 图片vertical-align: middle; 3:等比例缩放,js解决,思路: (1)如果图片宽高都没有超过容器大小,则忽略 (2)如果图片的宽度或者高度其中有一方超过容器大小,

android项目 之 记事本(12) ----- 图片的等比例缩放及给图片添加边框

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 在Android的UI开发中经常会遇到图片的缩放,就比如记事本,现在的图片都比较大,如果将原图不经缩放直接放在屏幕上,则会占满整个屏幕,而且有时图片会比屏幕还大,这时就不能完全的显示整个图片,所以,必须要进行缩放,但在缩放时,该如何缩放呢,长和宽的缩放比例设置为多少合适呢,为了保持原图的纵横比,所以要最好的方法就是约束缩放比例,也就是等比例缩放,相信大家都用过PS中的缩放图片的

基于jquery的鼠标滚动放大缩小图片

一直以来都想写一个图片放大和缩小的小玩意,本来以为会很复杂,这几天自己思考了一下,原来是so easy啊.目前实现的放大缩小,主要时依据鼠标的滚轮触发事件来实现的,废话少说直接上源码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns

关于大图片居中显示~适应移动端

今天修改项目的时候碰到一个问题,移动端点击小图片后,打开一个大图片显示:由于这个大图片的比例是不确定的,所以如何显示就成了一个问题. 最初的这个功能是设置了一个css3的属性,然后在Android手机上出了问题, -webkit-align-self: center; -ms-flex-item-align: center; align-self: center; 然后我查了一下这个属性: 因为版本的原因,一些Android机没法使用这个属性. 我找了找居中显示的资料,看了看百度图片的图片显示方