2

新手问题:o)

我正在尝试使用 jQuery Draggable 对象生成一条水平线,并从 ul li 标签中获取“位置”偏移量。问题是从开始设置所有对象的偏移量。

任何人?

谢谢!

http://jsfiddle.net/pYZYz/

<script src="http://code.jquery.com/jquery-1.5.2rc1.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js"></script>

<br>
<div id="slider">
    <ul id="objects"> 
      <li position="300"> 
        1 
      </li> 

      <li position="30"> 
        2                  
      </li> 

       <li position="100"> 
        3 
      </li> 

    </ul> 
</div>

<br>

<p>
    Position:
    <input type="text" id="val" style="border:0; color:#f6931f; font-weight:bold;" />
</p>

$(document).ready(function() 
{    

    $("ul li").draggable
    ({
        containment: "#slider",
        axis: "x",
        snap: false,
        drag: function(event, ui)
        {
            $("#val").val(ui.position.left);

        }   

    });

    $("ul li").offset({left: $(this).attr('position')});

});​
4

1 回答 1

2

您必须使用“每个”来设置位置。

$(document).ready(function() 
{


        $("ul li").draggable
        ({
            containment: "#slider",
            axis: "x",
            snap: false,
            drag: function(event, ui)
            {
                $("#val").val(ui.position.left);

            }   

        });

        $('ul li').each(function(index) {
            $(this).offset({left: $(this).attr('position')});
        });

    });​
于 2012-05-21T12:16:54.523 回答