位置: 编程技术 - 正文

jQuery实现模拟flash头像裁切上传功能示例(jquery模拟表单提交)

编辑:rootadmin

推荐整理分享jQuery实现模拟flash头像裁切上传功能示例(jquery模拟表单提交),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery modal,jquery模块,jquery模拟表单提交,jquery模拟按钮点击,jquery模拟表单提交,jquery模拟表单提交,jquery 模态窗口,jquery 模态窗口,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了jQuery实现模拟flash头像裁切上传功能。分享给大家供大家参考,具体如下:

是的,jq已经有类似的插件了,或者干脆用flash算了,为什么我还要自己写?因为造(wo)轮(bu)子(hui)也(flash)是一个学习的过程,轮子不会造,将来怎么造飞机?先来一张最终效果图:

一、大概思路

用js来做这个效果,先得将图片A上传到服务器,关于异步上传的插件有很多,不用插件也可以参考本人上一篇博客用纯js的方式上传,上传之后显示到页面里,由于上传的图片尺寸各不相同,要完整地显示图片,就要将上传后的图片用css控制按比例缩放显示,然后通过矩形选框选择需要的部分,用js获取矩形选框的左上角坐标,加上选框的宽高按比例计算后传给后台,后台程序根据所传参数来裁切得到图片B后返回到前台并将上传的原图A删除,节省空间。

二、分析

将效果图分为左右两部分,先看左边,由一张图片加一个矩形选区组成,图片和选区之间有一层半透明的遮罩,但是这样的话会连选区部分一块遮住,就没有上面这种框选出来的效果了,事实上结构是这样的:由下往上分别是1图片层,2遮罩层,3选区层(一个div,绝对定位),4图片层(绝对定位)。第1层和第4层的图片是一样的,大小及left、top值也一样,给第3层选区层加个overflow:hidden,就呈现出了上面的效果,虚线边框及拖拽的8个点后文会讲到。下图比较直观地说明的它们的层级关系,第3层灰色部分为overflow:hidden隐藏的部分:

做完图发现左右两边框的位置不一样,但重在说明原理。接下来,选区部分可以拖动,用到拖拽原理:鼠标按下,记录var disx=event.clientX,var disy=event.clientY,拖动,计算当前event.clientX与disx的差值为x,当前event.clientY与disy的差值为y,设置第4层图片的left值为图片当前offsetLeft+disx,top值为offsetTop+disy。如选区往左移动px,由于第4层只能在第1层范围内移动,那么刚好第4层的left值等于负的第3层的left值,top值同理。拖拽原理图:

jQuery实现模拟flash头像裁切上传功能示例(jquery模拟表单提交)

选区大小是可以按比例改变的,这就需要用到选区周围的8个点,如下图可以分为4个部分:

每个部分里的点触发的事件是一样的,4个部分触发的事件都是改变选区大小,不一样的地方在于第1部分会同时改变选区的left和top值,第2和第4部分分别只改变的是选区的top、left值,第3部分不会改变选区的left和top值。4个部分原理都一样,拿第1部分说事,点击第1部分的点往左上角拖动,选区变大的同时设置其left和top值(会减小),而left减小的值刚好等于选区增大的值,这个值的计算方法同拖拽原理。拖拽过程中需要限制范围,不能超出整个图片的范围。

选中需要截取的部分后,获取当前选区(第4层)的左上角的坐标,即第4层的offsetLeft、offsetTop值,再获取选区的宽高,这4个值不能直接往后台传,因为此时的图片可能是被缩放过的,而后台是根据原图尺寸来截取的,那么需要在图片上传完之后获取图片原始宽高,与页面中图片显示宽高得出一个比例,将这4个值乘以这个比例得出的值才是后台需要的。

至于选区的边框,做得简单点可以直接设置border:1px dashed #fff,更好的方法是放四个position:absolute的div,分别固定在选区的上下左右,上下宽%,高1px,左右宽1px,高%,背景设为一个波浪纹的gif图片,repeat,出来的效果很是惊艳!

右边部分3张图片仅仅是展示用,显示的内容是左边选区选中的部分,而选区的大小是可以改变的,所以右边的图片大小及位置是随着选区的变化而变化。选择图片上传后,选区有个默认宽高,右边3个框宽高是固定的,根据选区宽与右边三个框的宽分别相除得出的比例可以算出右边三个框内的图片应该显示的尺寸,显示原理同左边,相比左边只是少了第1、2层。

这种方式的优点是纯js,兼容性也好,另外还可以做个特性检测,支持HTML5的浏览器可以直接在前端切割图片,缺点是裁切之前要选将图片上传。源码晚点贴上来。

三、源码

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》、《jQuery切换特效与技巧总结》、《jQuery遍历算法与技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

jquery实现简单的瀑布流布局 是开头都会说的原理瀑布流布局有两种,一种是固定列,一种是非固定列。在此主要记述第一种的实现。固定列的特征是:无论页面如何缩放,每行的

jquery滚动条插件(可以自定义) 以后用起来就方便了把css文件引入linkrel="stylesheet"type="text/css"href="css/jquery.mCustomScrollbar.css"js引入scripttype="text/javascript"src="js/jquery.mCustomScrollbar.concat.min.js"

基于jquery实现的鼠标悬停提示案例 //这是JS里的代码MOMO.js因为刚学封装JQUERY插件所以就做的稍微麻烦一点,其实在前台页面直接就可以用mouseover,mouseout,mousemove三个事件就行了(function($){$.fn

标签: jquery模拟表单提交

本文链接地址:https://www.jiuchutong.com/biancheng/376258.html 转载请保留说明!

上一篇:基于jQuery实现的查看全文功能【实用】(基于jquery的框架有哪些)

下一篇:jquery实现简单的瀑布流布局(jquery技巧)

  • 项目异地预缴附加税会计分录是?
  • 企业卖车交税怎么算的
  • 养鸡增值税税率是多少
  • 销售扣款怎么开票
  • 建筑劳务公司工人工资计入什么科目
  • 公司一般户需要年检吗
  • 实收资本可以做借方吗
  • 财务软件怎么结转本年利润
  • 未达起征点的税金如何做账
  • 自然人城建税减半征收
  • 接收抵债资产税费
  • 进项税额转出补交税金会计分录
  • 耕地占用税完税证明有什么用
  • 对公提回款是什么意思
  • 税务局查到发票有问题
  • 制造费用明细科目大全
  • 消费税的纳税地点在哪里
  • 一般纳税人有进项无销项
  • 金蝶如何结转折旧费用的操作步骤
  • 什么叫资金预算
  • 以产品抵债会计分录
  • 项目单位自筹资金
  • php数组有哪几种类型
  • 差额征收单位所需材料
  • 鸿蒙系统怎么设置桌面小组件
  • thinkphp操作数据库
  • 汇算清缴针对哪些对象
  • 如何使用wireshark抓取HTTP数据包?
  • php权限框架
  • 微信支付高速通行费怎么开电子发票
  • ChatGPT在热门行业的应用场景有哪些
  • 帝国cms功能
  • 出口企业的出口比例怎么算
  • 支付银行贷款利息现金流量表填哪里
  • php shell_exec
  • 帝国cms插件编写教程
  • 自然人扣缴系统怎么申报个税
  • Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解决方法
  • 销售返利及发票开具如何进行会计处理?
  • 转让不动产为什么不能开全票发票
  • 利息收入应该怎么记账
  • 让渡资产使用权收入属于收入吗
  • 开办费的最新账务处理2021
  • 制造费用和生产成本期末有余额吗
  • 母子公司之间的借款利息支出增值税能否抵扣
  • 每月需要计提的分录
  • 工程结算材料款抵扣增值税
  • 完工结转的会计分录
  • 消防设施 房产税
  • 营业税包含
  • 加计抵扣进项税分录
  • 商业仓储
  • 主营业务成本做多了怎么办
  • 事业单位私车公用如何处罚
  • 工业企业接受捐赠收入计入
  • 数据库表的查询学会了什么
  • sql server使用教程(图文)
  • mysql支持的数据类型主要有哪几类
  • Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程
  • Windows Server 2008下Backup功能全通透
  • ghost装机顺序
  • 大白菜u盘启动按f几
  • xp系统的搜索
  • centos做bond4
  • windows8能免费升10吗
  • linux shell脚本编写实例
  • Linux中SSH的SCP传输命令运用详解
  • window7文件查看方式
  • 如何在linux系统中卸载一个已装载的文件系统
  • 微信和qq时间格式不一样
  • 弹簧设计软件手机版
  • node 回调函数
  • js如何输出页面内容
  • 安卓抽象类
  • 国家税务局发票查验平台查验官网
  • 国家税务总局网站官网福建税务局
  • 根据消费税暂行条例的规定,纳税人自产自用
  • 资源税的税目共有七个其中包括
  • 中国税务网发票怎么开
  • 目前长沙二手房出售信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设