JS简单的图片放大缩小的两种方法


Posted in Javascript onNovember 11, 2013

以左上角为定点,放大缩小,该点位置不变。

方法一:

Html代码

   <script type="text/javascript"> 
        //兼容IE和火狐   缩小放大、缩放 
        function ImageSuofang(args) { 
            var oImg = document.getElementById("oImg"); 
            if (args) { 
                oImgoImg.width = oImg.width * 1.1; 
                oImgoImg.height = oImg.height * 1.1; 
            } 
            else { 
                oImgoImg.width = oImg.width / 1.1; 
                oImgoImg.height = oImg.height / 1.1; 
            } 
        }     
     </script> <form id="form1"> 
     <div class="pancontainer" data-orient="center" style="width:320px; height:480px;margin: 5px 300px 0px 400px;border: 1px solid #000;"> 
<img id="oImg" src="/img/c.jpg" alt="pic"/> 
</div> 
             <input id="btn1" type="button" value="放大" onclick="ImageSuofang(true)" /> 
        <input id="btn2" type="button" value="缩小" onclick="ImageSuofang(false)" /> 
         <!--            <input type="button" value="<-Rotate逆时针" name="RotateL" id="RotateL" onclick="rotateRight('oImg',90);">  --> 
             
</form>

方法二:

CSS编码如下:

Css代码

#biankuang{height:480px;width:320px;margin: 30px auto;}//加一个border可以看到定点为左上角。

下面是实现图片缩小放大功能的JS代码:

Js代码

var zoomLevel = 0; 
var currentWidth = 0; 
var currentHeight = 0; 
var originalWidth = 0; 
var originalHeight = 0; 
function initial(){ 
    currentWidth = document.myImage.width; 
    currentHeight = document.myImage.height; 
    originalWidth = currentWidth; 
    originalHeight = currentHeight; 
    update(); 
} 
function zoomIn(){ 
    document.myImage.width = currentWidth*1.2; 
    document.myImage.height = currentHeight*1.2; 
    zoomLevel = zoomLevel + 1; 
    update(); 
} 
function zoomOut(){ 
    document.myImage.width = currentWidth/1.2; 
    document.myImage.height = currentHeight/1.2; 
    zoomLevel = zoomLevel - 1; 
    update(); 
} 
function resetImage(){ 
    document.myImage.width = originalWidth; 
    document.myImage.height = originalHeight; 
    zoomLevel = 0; 
    update(); 
} 
function update(){ 
    currentWidth = document.myImage.width; 
    currentHeight = document.myImage.height; 
    zoomsize.innerText = zoomLevel; 
    imgsize.innerText = currentWidth + "X" + currentHeight; 
}

 html的body中的代码如下:

Html代码

<body onload="initial()"> <div id="biankuang" data-orient="center"> 
<img name="myImage" src="/img/c.jpg" alt="pic"/>     //引入本地图片 
</div> 
<p> 
<input type="button" value="放大图片" onclick="zoomIn()"> 
<input type="button" value="缩小图片" onclick="zoomOut()"> 
<input type="button" value="重置图片" onclick="resetImage()"> 
<span id="zoomsize"></span> <span id="imgsize"></span></p> 
</body>
Javascript 相关文章推荐
Web前端设计模式  制作漂亮的弹出层
Oct 29 Javascript
javascript中有趣的反柯里化深入分析
Dec 05 Javascript
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
浅谈Sublime Text 3运行JavaScript控制台
Jun 06 Javascript
老生常谈Javascript中的原型和this指针
Oct 09 Javascript
jQuery插件WebUploader实现文件上传
Nov 07 Javascript
学习vue.js条件渲染
Dec 03 Javascript
AjaxUpLoad.js实现文件上传功能
Mar 02 Javascript
React生命周期原理与用法踩坑笔记
Apr 28 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
Sep 01 Javascript
Vuejs通过拖动改变元素宽度实现自适应
Sep 02 Javascript
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
js全屏显示显示代码的三种方法
Nov 11 #Javascript
JavaScript获取多个数组的交集简单实例
Nov 11 #Javascript
JavaScript splice()方法详解
Sep 22 #Javascript
javascript与cookie 的问题详解
Nov 11 #Javascript
JavaScript设置首页和收藏页面的小例子
Nov 11 #Javascript
JS将表单导出成EXCEL的实例代码
Nov 11 #Javascript
AJAX跨域请求json数据的实现方法
Nov 11 #Javascript
You might like
PHP 魔术函数使用说明
2010/05/14 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
javascript 使td内容不换行不撑开
2012/11/29 Javascript
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
微信小程序picker组件简单用法示例【附demo源码下载】
2017/12/05 Javascript
vue2使用keep-alive缓存多层列表页的方法
2018/09/21 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
2018/09/27 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
Python入门之后再看点什么好?
2018/03/05 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
Auguste The Label官网:澳大利亚一家精品女装时尚品牌
2020/06/14 全球购物
领导检查欢迎词
2014/01/14 职场文书
中学生家长评语大全
2014/04/16 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
遗嘱范文
2015/08/07 职场文书
如何写好闭幕词
2019/04/02 职场文书