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 相关文章推荐
jQuery ui插件的使用方法代码实例
May 08 Javascript
探讨jQuery的ajax使用场景(c#)
Dec 03 Javascript
实例讲解JQuery中this和$(this)区别
Dec 08 Javascript
jQuery中DOM树操作之复制元素的方法
Jan 23 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
Jul 22 Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
AngularJs实现聊天列表实时刷新功能
Jun 15 Javascript
使用jQuery实现简单的tab框实例
Aug 22 jQuery
json字符串传到前台input的方法
Aug 06 Javascript
vue 强制组件重新渲染(重置)的两种方案
Oct 29 Javascript
JS中准确判断变量类型的方法
Jun 01 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的一些基础知识分享
2011/07/27 PHP
PHP Cookie的使用教程详解
2013/06/03 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
javascript some()函数用法详解
2014/11/13 PHP
windows8.1下Apache+Php+MySQL配置步骤
2015/10/30 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
JavaScript入门教程 Cookies
2009/01/31 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
jQuery实现图片文字淡入淡出效果
2015/12/21 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
AngularJS实现的锚点楼层跳转功能示例
2018/01/02 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
小程序实现投票进度条
2019/11/20 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
2020/04/07 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
Python 分析Nginx访问日志并保存到MySQL数据库实例
2014/03/13 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
Python列表切片常用操作实例解析
2020/03/10 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
一些.net面试题
2014/10/06 面试题
职业生涯规划书怎么写?
2014/09/14 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书