jQuery实现拖动剪裁图片作为头像


Posted in Javascript onDecember 28, 2016

图片上传是许多网站的一个常用的功能,有时需要对上传的图片做初步的选择裁剪,比如上传头像。下面就是一个使用HTML5+jQuery实现的图片上传裁剪特效,可以对选择要上传的图片做缩小、放大、拖动和裁剪,由何问起调试改进,有需要的朋友可以参考一下。在文后附有源码下载。

效果图:

jQuery实现拖动剪裁图片作为头像

需要引用的css文件为style.css,需要引用的js文件为jquery文件,可以到http://hovertree.com/h/bjaf/ati6k7yk.htm选择合适的版本下载,还需引用cropbox.js文件,这些文件在源码里面都有。

代码如下:

<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery拖动剪裁图片作为头像代码 - 何问起</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
</head>
<body>
<div class="hovertreecontainer">
 <div class="imageBox">
 <div class="thumbBox"></div>
 <div class="spinner" style="display: none">Loading...</div>
 </div>
 <div class="action"> 
 <div class="new-contentarea tc"> 
 <a href="javascript:void(0)" class="upload-img">
 <label for="upload-file">上传图像</label>
 </a>
 <input type="file" class="" name="upload-file" id="upload-file" />
 </div>
 <input type="button" id="btnCrop" class="Btnsty_peyton" value="裁切">
 <input type="button" id="btnZoomIn" class="Btnsty_peyton" value="+" >
 <input type="button" id="btnZoomOut" class="Btnsty_peyton" value="-" >
 </div>
 <div class="cropped"></div>
</div>
<script src="http://down.hovertree.com/jquery/jquery-1.11.0.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/cropbox.js"></script>
<script type="text/javascript">
$(window).load(function() {
 var options =
 {
 thumbBox: '.thumbBox',
 spinner: '.spinner',
 imgSrc: 'img/rgevo2ea.jpg'
 }
 var cropper = $('.imageBox').cropbox(options);
 $('#upload-file').on('change', function(){
 var reader = new FileReader();
 reader.onload = function(e) {
 options.imgSrc = e.target.result;
 cropper = $('.imageBox').cropbox(options);
 }
 reader.readAsDataURL(this.files[0]);
 this.files = [];
 })
 $('#btnCrop').on('click', function(){
 var img = cropper.getDataURL();
 $('.cropped').html('');
 $('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:64px;margin-top:4px;border-radius:64px;box-shadow:0px 0px 12px #7E7E7E;" ><p>64px*64px</p>');
 $('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:128px;margin-top:4px;border-radius:128px;box-shadow:0px 0px 12px #7E7E7E;"><p>128px*128px</p>');
 $('.cropped').append('<img src="'+img+'" align="absmiddle" style="width:180px;margin-top:4px;border-radius:180px;box-shadow:0px 0px 12px #7E7E7E;"><p>180px*180px</p>');
 })
 $('#btnZoomIn').on('click', function(){
 cropper.zoomIn();
 })
 $('#btnZoomOut').on('click', function(){
 cropper.zoomOut();
 })
});
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
<p>适用浏览器:360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. 不支持IE8及以下浏览器。</p>
<p>来源:<a href="http://hovertree.com/" target="_blank">何问起</a> <a href="http://hovertree.com/h/bjaf/7x8ev3fh.htm" target="_blank">说明</a></p>
</div>
</body>
</html>

源码下载:
http://wd.3water.com:81//201612/yuanma/hovertreejqimg8_3water.rar

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Domino中运用jQuery读取视图内容的方法
Oct 21 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
Jan 27 Javascript
js写的方法实现上传图片之后查看大图
Mar 05 Javascript
关于JS中prototype的理解
Sep 07 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
May 09 Javascript
javascript数字验证的实例代码(推荐)
Aug 20 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
详解使用angular的HttpClient搭配rxjs
Sep 01 Javascript
基于JavaScript实现一个简单的Vue
Sep 26 Javascript
详解微信UnionID作用
May 15 Javascript
Vue v-for循环之@click点击事件获取元素示例
Nov 09 Javascript
Vue 组件注册全解析
Dec 17 Vue.js
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
Dec 28 #Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 #Javascript
JS中闭包的经典用法小结(2则示例)
Dec 28 #Javascript
AngularJS实现网站换肤实例
Feb 19 #Javascript
详解js树形控件—zTree使用总结
Dec 28 #Javascript
js 轮播效果实例分享
Dec 28 #Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
Dec 28 #Javascript
You might like
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
组合算法的PHP解答方法
2012/02/04 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
浅谈$('div a') 与$('div&gt;a')的区别
2016/07/18 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
javascript设计模式之迭代器模式
2020/01/30 Javascript
Vue中watch、computed、updated三者的区别及用法
2020/07/27 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
python中类的一些方法分析
2014/09/25 Python
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
对python当中不在本路径的py文件的引用详解
2018/12/15 Python
python射线法判断一个点在图形区域内外
2019/06/28 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
实习期自我鉴定
2013/10/11 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
社团活动总结报告
2014/06/27 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书