基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)


Posted in Javascript onDecember 25, 2015

本文为大家分享了四个jquery图片常见操作,供大家参考,具体内容如下

1、关于图片大小的重绘,你可以在服务端来实现,也可以通过JQuery在客户端实现。

$(window).bind("load", function() {
   // IMAGE RESIZE
   $('#product_cat_list img').each(function() {
     var maxWidth = 120;
     var maxHeight = 120;
     var ratio = 0;
     var width = $(this).width();
     var height = $(this).height();
 
     if(width > maxWidth){
      ratio = maxWidth / width;
      $(this).css("width", maxWidth);
      $(this).css("height", height * ratio);
      height = height * ratio;
     }
     var width = $(this).width();
     var height = $(this).height();
     if(height > maxHeight){
      ratio = maxHeight / height;
      $(this).css("height", maxHeight);
      $(this).css("width", width * ratio);
      width = width * ratio;
     }
   });
   //$("#contentpage img").show();
   // IMAGE RESIZE
});

2、jQuery获取<img>图片实际尺寸的方法

$(function(){
 var imgSrc = $("#image").attr("src");
 getImageWidth(imgSrc,function(w,h){
 console.log({width:w,height:h});
 });
});

function getImageWidth(url,callback){
 var img = new Image();
 img.src = url;
 
 // 如果图片被缓存,则直接返回缓存数据
 if(img.complete){
   callback(img.width, img.height);
 }else{
      // 完全加载完毕的事件
   img.onload = function(){
 callback(img.width, img.height);
   }
    }
 
}

3、jquery 自动调整图片大小

$(document).ready(function(){
        $('img').each(function() {  
        var maxWidth =500; // 图片最大宽度  
        var maxHeight =500;  // 图片最大高度  
        var ratio = 0; // 缩放比例 
         var width = $(this).width();  // 图片实际宽度  
         var height = $(this).height(); // 图片实际高度   // 检查图片是否超宽  
         if(width > maxWidth){    
         ratio = maxWidth / width;  // 计算缩放比例    
         $(this).css("width", maxWidth); // 设定实际显示宽度    
         height = height * ratio;  // 计算等比例缩放后的高度    
         $(this).css("height", height); // 设定等比例缩放后的高度  
         }   // 检查图片是否超高 
          if(height > maxHeight){    
          ratio = maxHeight / height; // 计算缩放比例   
          $(this).css("height", maxHeight);  // 设定实际显示高度    
          width = width * ratio;  // 计算等比例缩放后的高度    
          $(this).css("width", width);  // 设定等比例缩放后的高度  
          }});
      });

4、使用jQuery对图片进行大小缩放

$(window).bind("load", function() {
  // IMAGE RESIZE
  $('#product_cat_list img').each(function() {
    var maxWidth = 120;
    var maxHeight = 120;
    var ratio = 0;
    var width = $(this).width();
    var height = $(this).height();
 
    if(width > maxWidth){
      ratio = maxWidth / width;
      $(this).css("width", maxWidth);
      $(this).css("height", height * ratio);
      height = height * ratio;
    }
    var width = $(this).width();
    var height = $(this).height();
    if(height > maxHeight){
      ratio = maxHeight / height;
      $(this).css("height", maxHeight);
      $(this).css("width", width * ratio);
      width = width * ratio;
    }
  });
  //$("#contentpage img").show();
  // IMAGE RESIZE
});

以上就是本文的全部内容,帮助大家实现图片重绘、图片获取尺寸、图片调整大小以及图片缩放,希望大家喜欢。

Javascript 相关文章推荐
js类中获取外部函数名的方法与代码
Sep 12 Javascript
jquery实现metro效果示例代码
Sep 06 Javascript
再谈javascript原型继承
Nov 10 Javascript
Javascript数组操作函数总结
Feb 05 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
Jan 18 Javascript
js简单设置与使用cookie的方法
Jan 22 Javascript
谈一谈jQuery核心架构设计
Mar 28 Javascript
JavaScript中的原型继承基础学习教程
May 06 Javascript
jQuery实现右键菜单、遮罩等效果代码
Sep 27 Javascript
关于Vue.js一些问题和思考学习笔记(2)
Dec 02 Javascript
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
详解JavaScript对数组操作(添加/删除/截取/排序/倒序)
Apr 28 Javascript
使用堆实现Top K算法(JS实现)
Dec 25 #Javascript
原生js和jQuery实现淡入淡出轮播效果
Dec 25 #Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
Dec 25 #Javascript
尝试动手制作javascript放大镜效果
Dec 25 #Javascript
js操作cookie保存浏览记录的方法
Dec 25 #Javascript
js实现跨域的多种方法
Dec 25 #Javascript
jquery.cookie.js用法实例详解
Dec 25 #Javascript
You might like
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
javascript date格式化示例
2013/09/25 Javascript
js实现多选项切换导航菜单的方法
2015/02/06 Javascript
IE及IE6浏览器中判断JS文件加载成功失败的方法
2015/02/18 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
vue实现element-ui对话框可拖拽功能
2018/08/17 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
微信小程序-可移动菜单的实现过程详解
2019/06/24 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
详解vite2.0配置学习(typescript版本)
2021/02/25 Javascript
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
Python 正则表达式(转义问题)
2014/12/15 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
中东奢侈品市场:Coveti
2019/05/12 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
个人投资合作协议书
2014/10/12 职场文书
大学生村官工作总结2015
2015/04/09 职场文书
活动经费申请报告
2015/05/15 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
高三数学教学反思
2016/02/18 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书
创业计划书之干洗店
2019/09/10 职场文书
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python