为了账号安全,请及时绑定邮箱和手机立即绑定

用JavaScript实现图片剪切效果

难度初级
时长 2小时10分
学习人数
综合评分9.60
56人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
setChoice()函数调用有问题 应该放在if里面不然只要鼠标移动就是执行该函数,太影响性能呢
<center>。。。。。。。
事实上事实上事实上事实上事实上事实上事实上
bug在哪里?采用clientY来记录拉伸值会导致:当浏览器宽度很矮并且有滚动条时,默认状态clientY=100+200(相对与down);但如果滚动条向下滑动一段距离时,clientY=50(一个小于100的值)+200;这样就造成了,在滚动条下滑一段距离后,再次点击down这个元素时,原来的main元素立刻缩小,而不会跟随鼠标平滑移动~~解决方法还是利用mousedown和mousemove记录的X,Y差值,直接当作addWidth和addHeight~~而不是用 y - getPosition(mainDiv).top - heightBefore 这样的逻辑不严谨的思路去求
...........老师,您先测下代码的bug吧~~个人也认同正确的方式应该是在mousedown,和mousemove之间记录的X,Y值来计算拉伸度~

最新回答 / 慕前端1463173
选取框左上角的点是它位置的表现,向右和向下拖动的时候左上角的那个点没动。
既然是绝对定位,完全可以用个变量来存储位置,不用麻烦的去获取

最新回答 / 奴奴雪人
你的返回值不是对象字面量格式的 ,就是getPosition函数left属性没有值
1.75倍听,老师讲得很仔细
讲的很清晰,很耐心,感谢老师
offsetParent是元素的父元素,不是父元素的左边距
clip属性值:auto|rect(top,right,bottom,left)
auto代表不裁切,rect中的上右下左四个方向填入的应是数值,表示裁切的位置。
课程须知
在学习本课程之前,您应该已经熟悉js事件的绑定和css的绝对定位。
老师告诉你能学到什么?
通过本课程,您将学习到如何通过组合鼠标的按下、拖动和松开事件来实现鼠标对元素的拖动和缩放,从而在js事件操作方面的学习有个更大的飞越。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消