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

发布时间 - 2026-01-10 22:10:31    点击率:

图片上传是许多网站的一个常用的功能,有时需要对上传的图片做初步的选择裁剪,比如上传头像。下面就是一个使用HTML5+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.:81//201612/yuanma/hovertreejqimg8_jb51.rar

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


# jquery  # 拖动  # 图片剪裁  # jquery实现拖动效果  # jQuery动态添加可拖动元素完整实例(附demo源码下载)  # 使用jQuery的easydrag插件实现可拖动的DIV弹出框  # jQuery实现简单的DIV拖动效果  # jQuery实现div随意拖动的实例代码(通用代码)  # jQuery实现移动端滑块拖动选择数字效果  # jQuery实现分隔条左右拖动功能  # jQuery实现单击弹出Div层窗口效果(可关闭可拖动)  # jquery实现鼠标拖动图片效果示例代码  # jquery 图片缩放拖动的简单实例  # jQuery拖动图片删除示例  # 上传  # 源码下载  # 图片上传  # 都有  # 不支持  # 要对  # 以对  # 还需  # 搜狗  # 时需  # 傲游  # 世界之窗  # link  # title  # rel  # UA  # edge  # stylesheet  # scale 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  利用python获取某年中每个月的第一天和最后一天  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  Laravel集合Collection怎么用_Laravel集合常用函数详解  如何在阿里云服务器自主搭建网站?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  JavaScript Ajax实现异步通信  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何在阿里云通过域名搭建网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Java遍历集合的三种方式  EditPlus中的正则表达式实战(6)  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在腾讯云免费申请建站?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  清除minerd进程的简单方法  如何在云主机上快速搭建网站?  香港服务器选型指南:免备案配置与高效建站方案解析  Java解压缩zip - 解压缩多个文件或文件夹实例  手机软键盘弹出时影响布局的解决方法  Laravel怎么为数据库表字段添加索引以优化查询  详解Android——蓝牙技术 带你实现终端间数据传输  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  深圳网站制作培训,深圳哪些招聘网站比较好?  音响网站制作视频教程,隆霸音响官方网站?  在线教育网站制作平台,山西立德教育官网?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  如何快速生成专业多端适配建站电话?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  昵图网官网入口 昵图网素材平台官方入口  如何在云服务器上快速搭建个人网站?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  如何在阿里云ECS服务器部署织梦CMS网站?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  如何用JavaScript实现文本编辑器_光标和选区怎么处理  如何在Tomcat中配置并部署网站项目?  Bootstrap整体框架之JavaScript插件架构  如何在云主机上快速搭建多站点网站?  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  网易LOFTER官网链接 老福特网页版登录地址