2011-07-21 18 views
0

ここのコードは、XMLファイルのランダムイメージをレイヤーに配置することになっています。それは動作しますが、ランダムノードをXMLファイルから取り出すのではなく、最初のイメージをXMLに表示するだけです。誰がなぜこれが分かっていますか?jQueryを使用したXML解析の問題

$(function() { 
    $.ajax({ 
    type: "GET", 
    url: "myFakeChannelData.xml", 
    dataType: "xml", 
    success: changeChannel 
    }); 
}); 

function changeChannel(xml) { 
    $('#layer').fadeOut(1000); 
    var $limit = 4; 
    $(xml).find("Channel").each(function($limit) { 
     var $channel = $(this); 
     var image = $channel.attr('image'); 
     $("#click").click(function() { 
      $(".layer-container").empty(); 
       $(".layer-container").append('<div class="layer1">' + 
      '<img class="" alt="" src="' + image + '" />' + '</div></div>'); 
      $(".layer-container").append('<div class="layer2">' + '<img class=""      alt="" src="' + image + '" />' + '</div></div>'); 
      $(".layer-container").append('<div class="layer3">' + '<img class="" alt="" src="' +  image + '" />' + '</div></div>'); 
      $(".Channel").fadeIn(1000); 
      var random = Math.floor(limit * Math.random()); 
      var myNewChannel = remix(random); 
      myNewChannel(random); 
     }); 
    }); 
} 

答えて

0

それがあるため、このタイプミスが考えられます。Math.floor(limit * Math.random()); の代わりMath.floor($limit * Math.random());

0

その理由はありますか? var random = Math.floor($ limit * Math.random());

$(function() { 
    $.ajax({ 
     type: "GET", 
     url: "myFakeChannelData.xml", 
     dataType: "xml", 
     success: changeChannel 
    }); 
}); 

function changeChannel(xml) { 
    $('#layer').fadeOut(1000); 
    var $limit = 4; 
    $(xml).find("Channel").each(function($limit) { 
     var $channel = $(this); 
     var image = $channel.attr('image'); 
     $("#click").click(function() { 
      $(".layer-container").empty(); 
      $(".layer-container").append('<div class="layer1">' + '<img class="" alt="" src="' + image + '" />' + '</div></div>'); 
      $(".layer-container").append('<div class="layer2">' + '<img class=""      alt="" src="' + image + '" />' + '</div></div>'); 
      $(".layer-container").append('<div class="layer3">' + '<img class="" alt="" src="' + image + '" />' + '</div></div>'); 
      $(".Channel").fadeIn(1000); 
      var random = Math.floor($limit * Math.random()); 
      var myNewChannel = remix(random); 
      myNewChannel(random); 
     }); 
    }); 
} 
+0

試してみました。それでも同じことが起こります。 – Martin