基于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 相关文章推荐
HTML node相关的一些资料整理
Jan 01 Javascript
JavaScript动态修改弹出窗口大小的方法
Apr 06 Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
Apr 26 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
Jul 28 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
Sep 20 Javascript
初学者AngularJS的环境搭建过程
Oct 27 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
Jul 26 Javascript
微信小程序分享海报生成的实现方法
Dec 10 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
Apr 17 Javascript
原生javascript中this几种常见用法总结
Feb 24 Javascript
微信小程序实现列表的横向滑动方式
Jul 15 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实现活动人选抽奖功能
2017/04/19 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
JavaScript中的变量声明早于赋值分析
2012/03/01 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
JS实现动态增加和删除li标签行的实例代码
2016/10/16 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
Vue.js实战之使用Vuex + axios发送请求详解
2017/04/04 Javascript
vue监听滚动事件实现滚动监听
2017/04/11 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
简单介绍Python中的JSON使用
2015/04/28 Python
Python版微信红包分配算法
2015/05/04 Python
python解析xml文件实例分析
2015/05/27 Python
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
详解Python进程间通信之命名管道
2017/08/28 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
详解Python字典的操作
2019/03/04 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python文件写入write()的操作
2019/05/14 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
python3中rank函数的用法
2019/11/27 Python
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
伦敦一卡通:The London Pass
2018/11/30 全球购物
英语专业学生个人求职信
2014/01/28 职场文书
一个都不能少观后感
2015/06/04 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
一次MySQL启动导致的事故实战记录
2021/09/15 MySQL