0

我想更新left一段时间拖动的属性ul,但只要我开始拖动它就会跳到-1980。

$('#draggable').on('drag', function() {

    var start = 0;
    var end = 2000;

    while (start <= end) {
        $('ul').css('left', -start);
        start+=20;
    }

});

小提琴

4

2 回答 2

1

好的,根据我的问题是在循环中

  while (start <= end) {
        $('ul').css('left', -start);
        start+=20;
    }

start==2000当这就是你直接得到 left=2000 的原因时,循环结束。

我不知道你想做什么。但如果您希望每 20 像素左更改可见,请尝试使用网格。

对于水平滚动条试试这个:

滚动演示

JS

$(document).ready(function(){
  $('#scroll').draggable({grid:[1,0]});
  $('#scroll').on('drag',function(event,ui){
    $('#text').css('margin-left',-ui.position.left);
  });  
});
于 2013-05-29T13:18:08.600 回答
0

start在处理程序之外声明变量drag

var start = 0;
$('#draggable').on('drag', function() {   

    var end = 2000;

    while (start <= end) {
        $('ul').css('left', -start);
        start+=20;
    }

});
于 2013-05-29T13:02:01.210 回答