基于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 相关文章推荐
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
js实现文章文字大小字号功能完整实例
Nov 01 Javascript
jQuery的one()方法用法实例
Jan 19 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
详解JavaScript编程中正则表达式的使用
Oct 25 Javascript
Jquery Ajax Error 调试错误的技巧
Nov 20 Javascript
jQuery中$.each()函数的用法引申实例
May 12 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
Sep 08 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
Vue路由跳转问题记录详解
Jun 15 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
基于Vue实现微前端的示例代码
Apr 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
ajax php 实现写入数据库
2009/09/02 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
jquery text()要注意啦
2009/10/30 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
jquery ztree实现模糊搜索功能
2016/02/25 Javascript
JSONP原理及简单实现
2016/06/08 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
js new Date()实例测试
2019/10/31 Javascript
详解Django通用视图中的函数包装
2015/07/21 Python
pygame实现非图片按钮效果
2019/10/29 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
python字符串的index和find的区别详解
2020/06/20 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
本科毕业生自我鉴定
2013/11/02 职场文书
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
保密承诺书范文
2014/03/27 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
实习生个人总结范文
2015/02/28 职场文书
最感人的道歉情书
2015/05/12 职场文书
创业计划书之餐饮
2019/09/02 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
Python函数式编程中itertools模块详解
2021/09/15 Python