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 相关文章推荐
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
js加减乘除丢失精度问题解决方法
May 16 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
Mar 10 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
javascript函数自动执行常用方法汇总
Mar 28 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
Oct 25 Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 Javascript
页面间固定参数,通过cookie传值的实现方法
May 31 Javascript
Angular使用cli生成自定义文件、组件的方法
Sep 04 Javascript
Vue前端判断数据对象是否为空的实例
Sep 02 Javascript
javascript实现简单留言板案例
Feb 09 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+javascript模拟Matrix画面
2006/10/09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
jquery.validate使用攻略 第二部
2010/07/01 Javascript
jQuery队列操作方法实例
2014/06/11 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
基于bootstrap实现收缩导航条
2017/03/17 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
详解vue微信网页授权最终解决方案
2019/06/16 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
js如何实现元素曝光上报
2019/08/07 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
10个顶级Python实用库推荐
2021/03/04 Python
欧洲领先的电子和电信零售商和服务提供商:Currys PC World Business
2017/12/05 全球购物
西班牙最好的在线购买葡萄酒的商店:Vinoseleccion
2019/10/30 全球购物
财务主管的岗位职责
2013/12/30 职场文书
法律进机关实施方案
2014/03/12 职场文书
领导班子四风对照检查材料范文
2014/09/27 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
2015年护士工作总结范文
2015/03/31 职场文书