jquery实现页面图片等比例放大缩小功能


Posted in Javascript onFebruary 12, 2014

html代码结构:

<a href=""><img src="images/tmp_376x470.jpg" width="300" height="300" alt=""/></a>
<a href=""><img src="images/tmp_409x265.jpg" width="300" height="300" alt=""/></a>
<a href=""><img src="images/tmp_572x367.jpg" width="300" height="300" alt=""/></a>

样式:

a{width:300px;height:300px;background:#fff;border:1px solid #666;display:inline-block} /* 这里需要指定a标签的高宽,背景和边框为可选 */
脚本(jquery可自行添加):
$(function () {
    var imgs = $('a>img');
    imgs.each(function () {
        var img = $(this);
        var width = img.attr('width');//区域宽度
        var height = img.attr('height');//区域高度
        var showWidth = width;//最终显示宽度
        var showHeight = height;//最终显示高度
        var ratio = width / height;//宽高比
        img.load(function () {
            var imgWidth, imgHeight, imgratio;
            $('<img />').attr('src', img.attr('src')).load(function () {
                imgWidth = this.width;//图片实际宽度
                imgHeight = this.height;//图片实际高度
                imgRatio = imgWidth / imgHeight;//实际宽高比
                if (ratio > imgRatio) {
                    showWidth = height * imgRatio;//调整宽度太小
                    img.attr('width', showWidth).css('margin-left', (width - showWidth) / 2);
                } else {
                    showHeight = width / imgRatio;//调高度太小
                    img.attr('height', showHeight).css('margin-top', (height - showHeight) / 2);
                }
            });
        });
    });
});

这样就是实现了图片的等比例放大缩小了。

Javascript 相关文章推荐
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
js使用eval解析json实例与注意事项分享
Jan 18 Javascript
Javascript 多物体运动的实现
Dec 24 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
Aug 24 Javascript
jQuery Dialog对话框事件用法实例分析
May 10 Javascript
javascript操作cookie
Jan 17 Javascript
微信小程序 弹窗自定义实例代码
Mar 08 Javascript
详解Vue 非父子组件通信方法(非Vuex)
May 24 Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
Mar 17 Javascript
JavaScript实现轮播图效果
Oct 30 Javascript
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
javascript获取web应用根目录的方法
Feb 12 #Javascript
使用javascript控制cookie显示和隐藏背景图
Feb 12 #Javascript
raphael.js绘制中国地图 地图绘制方法
Feb 12 #Javascript
js post提交调用方法
Feb 12 #Javascript
JQuery中操作Css样式的方法
Feb 12 #Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
Feb 12 #Javascript
js判断设备是否为PC并调整图片大小
Feb 12 #Javascript
You might like
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
深入PHP异步执行的详解
2013/06/03 PHP
php GUID生成函数和类
2014/03/10 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
2015/08/21 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
vue使用过滤器格式化日期
2021/01/20 Vue.js
python连接oracle数据库实例
2014/10/17 Python
解析Python中的异常处理
2015/04/28 Python
python实现对一个完整url进行分割的方法
2015/04/29 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
对python周期性定时器的示例详解
2019/02/19 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
Python flask框架端口失效解决方案
2020/06/04 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
计算机专业自我鉴定
2013/10/15 职场文书
会计学个人自荐信模板
2013/12/13 职场文书
高中自我鉴定
2013/12/20 职场文书
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
pytorch 运行一段时间后出现GPU OOM的问题
2021/06/02 Python
你知道Java Spring的两种事务吗
2022/03/16 Java/Android
Python的代理类实现,控制访问和修改属性的权限你都了解吗
2022/03/21 Python
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers