0

jqueryエフェクト転送を使用してリストを追加しています。テキストを作成したい-「要素」は、転送効果が完全に終了した後にのみ表示されます。何か案が?ありがとう、

<script type="text/javascript">
$(document).ready(function(){
    $("#add-li").click(function(){
        var NewLI = document.createElement("li");
        var ul = document.getElementById("ul");
        NewLI.innerHTML = 'element';
        ul.appendChild(NewLI);

        $("#add-li").effect("transfer", { to: $("#ul li:last-child"), className: "ui-effects-transfer" }, "slow");
        })})
</script>
<style type="text/css">
.ui-effects-transfer { border: 2px dotted #FFE600; }
</style>
</head>

<body>
<p><input type="button" id="add-li" value="add list" /></p>
<br /><br /><br /><br /><br /><br /><br />
<p>
    <div id="effect">Below this the list.
    <ul id="ul">
    </ul>
    </div>
</p>
</body>
4

2 に答える 2

1

はい。ただし、jQueryの延期を忘れないでください;)
コールバックを実現する方法の簡単なサンプルコードを次に示します。

$( "div" ).click(function() {
  var html1 = $(this).clone();  
  var i = 1 - $( "div" ).index( this );
  $( this ).effect( "transfer", { to: $( "div" ).eq( i ) }, 1000 ).promise().done(function(){
    $( "div" ).eq( i ).html(html1.html());
    $(this).empty();
  });

});

これを試してください:http: //jsbin.com/oSuZoDaK/2/edit

于 2013-11-15T19:39:53.437 に答える
0

それは最悪だ!使用しているエフェクトには、コールバックするオプションがないようです。http://docs.jquery.com/UI/Effects/Transfer

これにはコールバックがありますhttp://api.jquery.com/animate/

コールバックに関するその他の例http://api.jquery.com/slideDown/

于 2010-12-09T01:54:27.877 に答える