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 相关文章推荐
jquery 页面全选框实践代码
Apr 02 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
javascript在子页面中函数无法调试问题解决方法
Jan 17 Javascript
100个不能错过的实用JS自定义函数
Mar 05 Javascript
简单谈谈javascript代码复用模式
Jan 28 Javascript
JS通过ajax动态读取xml文件内容的方法
Mar 24 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
Dec 10 Javascript
Angular 2父子组件之间共享服务通信的实现
Jul 04 Javascript
简述vue中的config配置
Jan 23 Javascript
详解搭建es6+devServer简单开发环境
Sep 25 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
咖啡语言
2021/03/03 咖啡文化
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
2016/03/15 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
JS实现随机数生成算法示例代码
2013/08/08 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
javascript实现blob加密视频源地址的方法
2019/08/08 Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
2020/04/13 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
Python中itertools模块用法详解
2014/09/25 Python
利用ctypes提高Python的执行速度
2016/09/09 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
python绘制地震散点图
2019/06/18 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
python框架django项目部署相关知识详解
2019/11/04 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
PHP面试题及答案一
2012/06/18 面试题
财务分析个人的自荐书范文
2013/11/24 职场文书
国际商务系学生个人的自我评价
2013/11/26 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python