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

发现了一些小bug

老师讲的太好了,不过那个拖动代码好像有一些小bug,如果把选区移动到最右边,然后拖动最左边的滑块往右滑动,使选区宽度减为0,就可以把选区移出图片区域,下边也是一样,是不是要限制拖动范围啊?545cc3610001b75c05000323.jpg

正在回答

2 回答

function leftMove(e){
var x = e.clientX;//鼠标纵坐标
if(x <= 200){
x = 200;
}
if(x >= 560){
x = 559;
}
var mainX = getPosition(mainDiv).left;//选取框相对于屏幕上边的距离
var addWidth = mainX - x;//增加的高度
var widthBefore = mainDiv.offsetWidth - 2;//原来的高度
mainDiv.style.width = widthBefore +addWidth + "px";
mainDiv.style.left = mainDiv.offsetLeft - addWidth + "px";
}
//右边right移动
function rightMove(e){
var x = e.clientX;//鼠标x坐标
if(x >= 560){
x = 559;
}
if(x <= 200){
x = 200;
}
var addWidth = "";//鼠标移动后选取框增加的宽度
var widthBefore = mainDiv.offsetWidth -2;//选取框变化前的宽度
addWidth = x - getPosition(mainDiv).left - widthBefore;//鼠标增加的宽度
mainDiv.style.width = addWidth + widthBefore + "px";//选取框变化后
}
//上边up移动
function upMove(e){
var y = e.clientY;//鼠标纵坐标
if(y < 100){
y = 100;
}
if(y >=580){
y=579;
}
var mainY = getPosition(mainDiv).top;//选取框相对屏幕上边的距离
var addHeight = mainY - y;//增加的高度
var heightBefore = mainDiv.offsetHeight -2;//原来的高度
mainDiv.style.height = heightBefore + addHeight + "px";
mainDiv.style.top = mainDiv.offsetTop - addHeight + "px";
}
//下边down移动
function downMove(e){
var y = e.clientY;//鼠标纵坐标
if(y >= 580){
y = 579;
}
if(y <=100){
y = 100;
}
var mainY = getPosition(mainDiv).top;//选取框相对屏幕上边的距离
var heightBefore = mainDiv.offsetHeight - 2;//原来的高度
var addHeight = y - heightBefore - mainY;
mainDiv.style.height = heightBefore + addHeight + "px";
}

我在上面加了几句超级简单的限制语句。就不会跑出去了。

0 回复 有任何疑惑可以回复我~

恩,我也发现了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
用JavaScript实现图片剪切效果
  • 参与学习       34578    人
  • 解答问题       135    个

神奇的图片特效,还会给大家介绍css中让人惊喜的clip属性

进入课程

发现了一些小bug

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信