1

div要素をループしているときにspan要素を検出したかったのです。

<div class="example">
    These are some <span id ="special" class="anime">special</span> words 
   that should be faded in one after the other.
</div>

javascriptを使用して、単語を分割し、1つずつフェードインします。

JS:

 function doSomething(spanID) {
     alert(spanID);
     }

 var $el = $(".example:first"), text = $.trim($el.text()),
        words = text.split(" "), html = "";

    for (var i = 0; i < words.length; i++) {
        html += "<span>" + words[i] + ((i+1) === words.length ? "" : " ") + "</span>";
    };
    $el.html(html).children().hide().each(function(i){
      // if special span is detected
      // get the span id pass it to doSomething function 
      $(this).delay(i*200).fadeIn(700);
    });
    $el.find("span").promise().done(function(){
        $el.text(function(i, text){
           return $.trim(text);
        });            
    });

実例はここにあります:http://jsfiddle.net/6czap/5/

すべてが機能します。特別なスパンを検出して、それらを使用して何かを実行できるようにする必要があります。その後、forループはそれが行うことを実行し続ける必要があります。ありがとう

4

1 に答える 1

1

次のことを試してください。

var orig = $(".example:first").html()
$el.html(html).children().hide().each(function(i){
  $(this).delay(i*200).fadeIn(700);
}).promise().done(function(){
   $('.example:first').html(orig);
});

デモ!

于 2012-07-24T21:37:54.367 に答える