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 相关文章推荐
jquery五角星评分插件示例分享
Feb 21 Javascript
jQuery打印图片pdf、txt示例代码
Jul 22 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
js的[defer]和[async]属性
Nov 24 Javascript
jQuery中prependTo()方法用法实例
Jan 08 Javascript
jquery使用ul模拟select实现表单美化的方法
Aug 18 Javascript
jquery checkbox的相关操作总结
Oct 17 Javascript
微信小程序实现锚点定位楼层跳跃的实例
May 18 Javascript
基于Vue实现后台系统权限控制的示例代码
Aug 29 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
Sep 25 Javascript
JS+CSS实现过渡特效
Jan 02 Javascript
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
php 动态多文件上传
2009/01/18 PHP
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
php中curl使用指南
2015/02/05 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
2015/03/17 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
innerHTML中标签可以换行的方法汇总
2015/08/14 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
javaScript如何跳出多重循环break、continue
2016/09/01 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
Python读写及备份oracle数据库操作示例
2018/05/17 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
个人简历自荐信
2014/06/26 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
名人演讲稿范文
2014/09/16 职场文书
未婚证明书模板
2014/10/08 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
商场圣诞节活动总结
2015/05/06 职场文书