基于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 相关文章推荐
找到一点可怜的关于dojo资料,谢谢作者!
Dec 06 Javascript
JS 拼图游戏 面向对象,注释完整。
Jun 18 Javascript
JavaScript 创建运动框架的实现代码
May 08 Javascript
js简单实现删除记录时的提示效果
Dec 05 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
Jun 24 Javascript
剖析Node.js异步编程中的回调与代码设计模式
Feb 16 Javascript
基于AngularJS前端云组件最佳实践
Oct 20 Javascript
vue.js实现请求数据的方法示例
Feb 07 Javascript
Vue.js tab实现选项卡切换
May 16 Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 Javascript
微信小程序模拟cookie的实现
Jun 20 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
Jun 11 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
PHP中feof()函数实例测试
2014/08/23 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
解析javascript 实用函数的使用详解
2013/05/10 Javascript
javascript设置金额样式转换保留两位小数示例代码
2013/12/04 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
Bootstrap每天必学之级联下拉菜单
2016/03/27 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
vue插件mescroll.js实现移动端上拉加载和下拉刷新
2019/03/07 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
javascript中layim之查找好友查找群组
2021/02/06 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Django视图和URL配置详解
2018/01/31 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
Python的条件表达式和lambda表达式实例
2019/01/31 Python
python 数据提取及拆分的实现代码
2019/08/26 Python
Python计算信息熵实例
2020/06/18 Python
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
印尼网上商店:Alfacart.com
2019/03/11 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
60句有关成长的名言
2019/09/04 职场文书
javascript Number 与 Math对象的介绍
2021/11/17 Javascript
CentOS安装Nginx并部署vue
2022/04/12 Servers