gpt4 book ai didi

jquery-ui - 当元素在不移动鼠标的情况下拖动时滚动 div

转载 作者:行者123 更新时间:2023-12-05 01:28:22 25 4
gpt4 key购买 nike

我开发了一个代码,其中包含一个表格,其中所有单元格都可以放置。表容器是具有固定高度和滚动条的 div。

我想将一个元素(在我的示例中为黄色方块)拖到表格底部的最后一个表格单元格中。一切正常,但要在拖动元素时激活 div 容器的滚动条,我必须一直移动鼠标 .

当我的元素在我的 div 容器底部附近拖动而不移动鼠标时,是否有可能自动向下滚动?

这是我的例子:http://jsbin.com/upunek/19/edit

提前致谢

最佳答案

我今天早上弄清楚了。

我创建了 setInterval功能当拖动事件 位置位于边框的 70px

这是我制作的 fiddle :http://jsfiddle.net/pPn3v/22/

var yellow = $('#yellow');
var offset = yellow.offset();
var offsetWidth = offset.left + yellow.width();
var offsetHeight = offset.top + yellow.height();

var red = $('#red');

var intRightHandler = null;
var intLeftHandler = null;
var intTopHandler= null;
var intBottomHandler= null;
var distance = 70;
var timer = 100;
var step = 10;


function clearInetervals()
{
clearInterval(intRightHandler);
clearInterval(intLeftHandler);
clearInterval(intTopHandler);
clearInterval(intBottomHandler);
}

red.draggable({
start : function(){},
stop: function(){clearInetervals(); },
drag : function(e){
var isMoving = false;
//Left
if((e.pageX - offset.left) <= distance)
{
isMoving = true;
clearInetervals();
intLeftHandler= setInterval(function(){
yellow.scrollLeft(yellow.scrollLeft() - step)
},timer);
console.log('left')
}

//Right
if(e.pageX >= (offsetWidth - distance))
{
isMoving = true;
clearInetervals();
intRightHandler = setInterval(function(){
yellow.scrollLeft(yellow.scrollLeft() + step)
},timer);
console.log('right')
}

//Top
if((e.pageY - offset.top) <= distance)
{
isMoving = true;
clearInetervals();
intTopHandler= setInterval(function(){
yellow.scrollTop(yellow.scrollTop() - step)
},timer);
console.log('top')
}

//Bottom
if(e.pageY >= (offsetHeight - distance))
{
isMoving = true;
clearInetervals();
intBottomHandler= setInterval(function(){
yellow.scrollTop(yellow.scrollTop() + step)
},timer);
console.log('bottom')
}

//No events
if(!isMoving)
clearInetervals();
}
});

关于jquery-ui - 当元素在不移动鼠标的情况下拖动时滚动 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10434906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com