Jquery ile bir javascript nesnesi Entegrasyonu

3 Cevap php

Ben php den jason_encode () var bu js nesne var. Bu nesne 2 nesneleri, Adı ve video vardır. Sonra bir döngü için ben divlere içine adlarını dağıtın. Benim sorunum video görüntüler bir diyalog yaratacak her div bir bağlantı oluşturmak için ihtiyaç vardır.

Ben jquery UI örnek bu fikri dayandırarak ediyorum: http://jqueryui.com/demos/droppable/#photo-manager

Ben youtube video gömme dışında aynı diyaloğu var niyetinde Özellikle görünümü büyük simgesi.

İşte JScript nesne değerleri alır ve divlere onları koyar kodudur.

for ( var i in BodyWeight )
{
  if(BodyWeight[i]['Color'] == 'Red')
  {
    $('#redboxes').append('<div class="ui-widget-content dragred"><p>' + BodyWeight[i]["ExerciseTitle"] + '</p> </div>');
  }
  else if(BodyWeight[i]['Color'] == 'Blue')
  {
    $('#blueboxes').append('<div class="ui-widget-content dragblue"><p>' + BodyWeight[i]["ExerciseTitle"] + '</p> </div>');
  }
}

Sonra temelde ben sadece bunu ExerciseVideo gelen verileri olmalıdır, her bir simgeler olurdu. Ben sadece birlikte hem nesneleri bağlamak için nasıl anlamaya olamaz. Jquery örnekte onlar görüntü url ne yazık ki ben bir video için aynı yapamaz bir href gömülür.

3 Cevap

Bu test edilmemiştir, ama işe yarayabilir. Edit: It actually is tested and does work now. bu Video bir YouTube video kimliği değil, bir YouTube video URL'si olduğunu varsayar. (Yani biz YouTube URL ?v= sonra parçasıdır Video varsayıyoruz)

for(var i=0;i<BodyWeight.length;i++) {
    var exercise=BodyWeight[i];
    var elem=$('<div class="ui-widget-content"><p>'+exercise["ExerciseTitle"]+'</p></div>');
    elem.addClass("drag"+exercise['Color'].toLowerCase());
    elem.appendTo("#"+exercise['Color'].toLowerCase()+"boxes");
    elem.data("exercise", exercise);
    elem.click(function() {
        var exercise=$(this).data("exercise");
        var div=$("<div>");
        var obj=$("<object>");
        obj.attr("type", "application/x-shockwave-flash");
        obj.attr("data", "http://www.youtube.com/v/"+exercise["Video"]);
        obj.attr("width", "400").attr("height", "300");
        obj.appendTo(div);
        div.hide().appendTo("body");
        setTimeout(function() {
            div.dialog({
                title: exercise["ExerciseTitle"],
                width: 435,
                modal: true,
                close: function(event, ui) {
                    div.remove();
                }
            });
        }, 1);
        return false;
    });
}

Bu neye ihtiyacınız varsa ben gerçekten bilmiyorum, ben yararlı olacağını umuyoruz

for ( var i in BodyWeight ) {

  var mydiv = $('<div class="ui-widget-content"></div>'),
      myp = $('<p>'+BodyWeight[i]["ExerciseTitle"]+'</p>'),
      mylink = $('<a>View video</a>'),
      linkVideo = BodyWeight['linkToVideo'] ;


  mylink
     .attr('href','#')
     .click(function(ev){
         ev.stopPropagation();

         //acction for linkVideo   
         alert(linkVideo);

      });

  mydiv
     .append(myp)
     .append(mylink);

  if(BodyWeight[i]['Color'] == 'Red') {
     mydiv.addClass("dragred").appendTo($('#redboxes'));
  }
  else if(BodyWeight[i]['Color'] == 'Blue') {
     mydiv.addClass("dragblue").appendTo($('#blueboxes'));
  }
}

Andres ve mike (aşağıda kodları okunabilir şekilde buraya koymak için tercih) sadece bir yorum.

Bu blok kodları:

 if(BodyWeight[i]['Color'] == 'Red') {
     mydiv.addClass("dragred").appendTo($('#redboxes'));
  }
  else if(BodyWeight[i]['Color'] == 'Blue') {
     mydiv.addClass("dragblue").appendTo($('#blueboxes'));
  }

neden bunu yapamaz:

  var color = BodyWeight[i]['Color'].toLowerCase();
  mydiv.addClass("drag"+color).appendTo($('#'+color+'boxes'));

çok daha iyi bence.