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 相关文章推荐
js实现ArrayList功能附实例代码
Oct 29 Javascript
jQuery实现图片左右滚动特效
Apr 20 Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 Javascript
jQuery实现标题有打字效果的焦点图代码
Nov 16 Javascript
jQuery使用经验小技巧(推荐)
May 31 Javascript
javascript代码调试之console.log 用法图文详解
Sep 30 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
Mar 08 Javascript
微信小程序 弹窗自定义实例代码
Mar 08 Javascript
JavaScript使用prototype属性实现继承操作示例
May 22 Javascript
VSCode插件安装完成后的配置(常用配置)
Aug 24 Javascript
JS指定音频audio在某个时间点进行播放
Nov 28 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新手上路(七)
2006/10/09 PHP
介绍几个array库的新函数 php
2006/12/29 PHP
php比较多维数组中值的大小排序实现代码
2012/09/08 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
2015/11/15 PHP
PHP数组实例详解
2016/06/26 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
jquery选择器(常用选择器说明)
2010/09/28 Javascript
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
AngularJS内置指令
2015/02/04 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
深入学习JavaScript中的bom
2019/05/27 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
JavaScript定时器使用方法详解
2020/03/26 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
python实现文件名批量替换和内容替换
2014/03/20 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
python实现按任意键继续执行程序
2016/12/30 Python
python数据处理实战(必看篇)
2017/06/11 Python
python连接PostgreSQL数据库的过程详解
2019/09/18 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
python3实现飞机大战
2020/11/29 Python
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
Kidsroom台湾:来自德国的婴儿用品
2017/12/11 全球购物
2014光棍节大学生联谊活动方案
2014/10/10 职场文书