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 相关文章推荐
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
javascript 子窗体父窗体相互传值方法
May 31 Javascript
JavaScript判断一个URL链接是否有效的实现方法
Oct 08 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
javascript中parseInt()函数的定义和用法分析
Dec 20 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
Mar 26 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
Jun 17 Javascript
原生js二级联动效果
Jun 20 Javascript
vuex实现的简单购物车功能示例
Feb 13 Javascript
浅谈layer弹出层按钮颜色修改方法
Sep 11 Javascript
JavaScript定时器使用方法详解
Mar 26 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 sprintf()函数让你的sql操作更安全
2008/07/23 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
浅谈JS日期(Date)处理函数
2014/12/07 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
详解如何运行vue项目
2019/04/15 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
2020/06/11 Javascript
vue router-link 默认a标签去除下划线的实现
2020/11/06 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
python单线程实现多个定时器示例
2014/03/30 Python
python在非root权限下的安装方法
2018/01/23 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
详解python程序中的多任务
2020/09/16 Python
python中常用的数据结构介绍
2021/01/12 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
毕业实习个人鉴定范文
2013/12/10 职场文书
办公室主任主任岗位责任制
2014/02/11 职场文书
留学生求职信
2014/06/03 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
社区植树节活动总结
2015/02/06 职场文书
财务总监岗位职责范本
2015/04/03 职场文书
2015年外联部工作总结
2015/04/03 职场文书
音乐之声观后感
2015/06/04 职场文书