jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)


Posted in Javascript onJanuary 22, 2016

本文实例讲述了jQuery头像裁剪工具jcrop用法。分享给大家供大家参考,具体如下:

头像裁剪工具目前比较流行的是flash和jquery的。个人觉得用jquery的比较好,因为代码仔细研究一下,基本上能明白怎么回事,想改的话也比较容易。

有一个例子,请参考:jcrop例子demo ,是根jcrop的例子改的,添加以下二个特点:

1,居中显示,并且可拖拉,改变截取的大小
2,预览的图片,根拖拉的大小成比例。

以下是js代码,作了简单的封装

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
  <title>jcrop 图片拖动</title>
  <script src="jquery.min.js" type="text/javascript"></script>
  <script src="jquery.Jcrop.min.js" type="text/javascript"></script>
  <link rel="stylesheet" href="jquery.Jcrop.css" type="text/css" />
  <link rel="stylesheet" href="demos.css" type="text/css" />
 </head>
 <body>
 <div id="outer">
 <div class="jcExample">
 <div class="article">
  <h1>上传头像拖动例子</h1>
  <table>
   <tr>
    <td>
     <img src="sago.jpg" id="target" alt="Flowers" />
    </td>
    <td>
     <div style="width:100px;height:100px;overflow:hidden;" id="aa">
      <img src="sago.jpg" id="preview" alt="Preview" class="jcrop-preview" />
     </div>
    </td>
   </tr>
  </table>
 </div>
 </div>
 </div>
 </body>
<script type="text/javascript">
new cutImage().init();
function cutImage(){
  var oop = this;
  this.option = {
    x:170,
    y:110,
    w:350,
    h:200,
    t:'target',
    p:'preview',
    o:'aa'
  }
  this.init = function(){
    oop.target();
  }
  this.target = function(){
   $('#'+oop.option['t']).Jcrop({
     onChange: oop.updatePreview,
     onSelect: oop.updatePreview,
     aspectRatio: 1,
     setSelect: [ oop.option['x'], oop.option['y'], oop.option['w'],oop.option['h'] ],
     bgFade:   true,
     bgOpacity: .5
    });
  }
  this.updatePreview = function(obj){
    if (parseInt(obj.w) > 0)
    {
     var rx = $('#'+oop.option['o']).width()/ obj.w;
     var ry = $('#'+oop.option['o']).height()/ obj.h;
     $('#'+oop.option['p']).css({
      width: Math.round(rx*$('#'+oop.option['t']).width()) + 'px',
      height: Math.round(ry*$('#'+oop.option['t']).height()) + 'px',
      marginLeft: '-' + Math.round(rx * obj.x) + 'px',
      marginTop: '-' + Math.round(ry * obj.y) + 'px'
     });
    }
  }
}
</script>
</html>

jquery jcrop结合jquery ajax upload的话,可以使头像上传截取功能,很人性化。

完整实例代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
通过 Dom 方法提高 innerHTML 性能
Mar 26 Javascript
javascript列表框操作函数集合汇总
Nov 28 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 Javascript
Javascript之BOM(window对象)详解
May 25 Javascript
js前端面试题及答案整理(一)
Aug 26 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
微信小程序 常用工具类详解及实例
Feb 15 Javascript
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
原生JavaScript实现todolist功能
Mar 02 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
May 10 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
Oct 20 Javascript
JS如何实现手机端输入验证码效果
May 13 Javascript
JavaScript学习笔记整理之引用类型
Jan 22 #Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 #Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 #Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 #Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
Jan 22 #Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
Jan 22 #Javascript
jQuery解析json格式数据简单实例
Jan 22 #Javascript
You might like
PHP实现的购物车类实例
2015/06/17 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之三
2012/01/03 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
node.js中的fs.mkdir方法使用说明
2014/12/17 Javascript
JQuery控制radio选中和不选中方法总结
2015/04/15 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Python操作Excel插入删除行的方法
2018/12/10 Python
使用python模拟高斯分布例子
2019/12/09 Python
英国床垫在线:Mattress Online
2016/12/07 全球购物
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
Java程序员面试题
2013/07/15 面试题
自我评价范文点评
2013/12/04 职场文书
2014年清明节寄语
2014/04/03 职场文书
委托书如何写
2014/08/30 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
学校办公室主任岗位职责
2015/04/01 职场文书
工程技术员岗位职责
2015/04/11 职场文书
走进科学观后感
2015/06/18 职场文书
学习委员竞选稿
2015/11/20 职场文书
导游词之上海豫园
2019/10/24 职场文书
Python基础之元类详解
2021/04/29 Python
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android