基于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 相关文章推荐
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
Sep 03 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
Jan 11 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
Jun 12 Javascript
vue webpack实用技巧总结
Apr 24 Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 Javascript
AngularJS自定义表单验证功能实例详解
Aug 24 Javascript
JavaScript常用工具函数库汇总
Sep 17 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 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
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
jquery幻灯片插件bxslider样式改进实例
2014/10/15 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
2016/10/16 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
基于JS实现简单滑块拼图游戏
2019/10/12 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
Python使用OpenCV进行标定
2018/05/08 Python
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
python 获取图片分辨率的方法
2019/01/08 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
Django配置文件代码说明
2019/12/04 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
澳大利亚在线百货商店:Real Smart
2017/08/13 全球购物
小学三八妇女节活动方案
2014/03/16 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
小学生学习保证书
2015/02/26 职场文书
导游词之岳阳楼
2019/09/25 职场文书
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
python必学知识之文件操作(建议收藏)
2021/05/30 Python