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 相关文章推荐
提高网站性能之 如何对待JavaScript
Oct 31 Javascript
jquery validate使用攻略 第四步
Jul 01 Javascript
jQuery中[attribute]选择器用法实例
Dec 31 Javascript
js创建对象几种方式的优缺点对比
Sep 28 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
Oct 09 Javascript
Bootstrap和Java分页实例第一篇
Dec 23 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
Angular.js中下拉框实现渲染html的方法
Jun 18 Javascript
详解Javascript 中的 class、构造函数、工厂函数
Dec 20 Javascript
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
在Vue中使用mockjs代码实例
Nov 25 Vue.js
5种 JavaScript 方式实现数组扁平化
Oct 05 Javascript
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在页面中调用fckeditor编辑器的方法
2011/06/10 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
取得传值的函数
2006/10/27 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python递归计算N!的方法
2015/05/05 Python
Python内置函数reversed()用法分析
2018/03/20 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
简历上的自我评价怎么写
2014/01/28 职场文书
工作检讨书范文
2015/01/23 职场文书
面试通知单大全
2015/04/20 职场文书
如何书写邀请函?
2019/06/24 职场文书