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

用JavaScript实现图片剪切效果

难度初级
时长 2小时10分
学习人数
综合评分9.60
56人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
clip属性值:auto|rect(top,right,bottom,left)
auto代表不裁切,rect中的上右下左四个方向填入的应是数值,表示裁切的位置。
clip属性值:auto|rect(top,right,bottom,left)

auto代表不裁切,rect中的上右下左四个方向填入的应是数值,表示裁切的位置。
今后想做的时候再做
大家要注意不要将onmousemove 写成 onmouseover ,注意它们两之间的区别
Element.clientWidth 属性表示元素的内部宽度,以像素计。该属性包括内边距,但不包括垂直滚动条(如果有的话)、边框和外边距。
opacity兼容ie 应该加上filte:alpha(opacity=70);

最新回答 / 12只怕有心人
clientX的起点是可视区域左侧,终点就是假设选框被拉动后触点所在的位置.
margin-top和margin-left也可以写在minDiv里面作为公共样式
我自己写有一份跟老师的不一样的,截取图片后,可以下载的,要代码可以加我
我也制作了一个,能够支持移动端,不过改变大小只有一个触点,另外七个触点自己的想法有点浮躁,我看看老师是如何简化的
还可以,老师讲的挺详细
拖动不需要插件,自己写 js 也没问题。
mousedown 事件中记录:
startX = e.clientX; startY = e.clientY; startLeft = clipper.offsetLeft; startTop = clipper.offsetTop;
mousemove 事件中:
.style.left = startLeft + e.clientX - startX + 'px'; .style.top = startTop + e.clientY - startY + 'px';
function getOffsetLeft(el) {
var left = 0;
while (el.parentNode !== null) {
left += el.offsetLeft;
el = el.parentNode
}
return left;
}
记录下鼠标按下时的坐标downX 在用鼠标移动时的坐标减去downX==addwidth
课程须知
在学习本课程之前,您应该已经熟悉js事件的绑定和css的绝对定位。
老师告诉你能学到什么?
通过本课程,您将学习到如何通过组合鼠标的按下、拖动和松开事件来实现鼠标对元素的拖动和缩放,从而在js事件操作方面的学习有个更大的飞越。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消