2

初心者の質問:o)

jQuery Draggableオブジェクトを使用して水平線を生成し、ulliタグから「位置」オフセットを取得しようとしています。問題は、最初からすべてのオブジェクトのオフセットを設定することです。

誰?

ありがとう!

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

位置を設定するには、「each」を使用する必要があります。

$(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 に答える