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 相关文章推荐
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 Javascript
javascript的日期对象、数组对象、二维数组使用说明
Dec 22 Javascript
AngularJS基础 ng-mousemove 指令简单示例
Aug 02 Javascript
js从外部获取图片的实现方法
Aug 05 Javascript
jQuery之动画效果大全
Nov 09 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
Jan 08 Javascript
JavaScript中常见内置函数用法示例
May 14 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
Jun 18 Javascript
js实现无限瀑布流实例方法
Sep 16 Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
Jul 20 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
Jul 28 Javascript
vue实现列表垂直无缝滚动
Apr 08 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
我的论坛源代码(十)
2006/10/09 PHP
php面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
laravel中的fillable和guarded属性详解
2019/10/23 PHP
PHP7原生MySQL数据库操作实现代码
2020/07/03 PHP
JS input文本框禁用右键和复制粘贴功能的代码
2010/04/15 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
Bootstrap如何创建表单
2016/10/21 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
老生常谈js数据类型
2017/08/03 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
[02:47]3.19DOTA2发布会 国服成长历程回顾
2014/03/25 DOTA
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
澳洲的服装老品牌:SABA
2018/02/06 全球购物
健康家庭事迹材料
2014/05/02 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
冬季安全检查方案
2014/05/23 职场文书
乡镇领导班子批评与自我批评材料
2014/09/23 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
二年级作文之动物作文
2019/11/13 职场文书