генерировать изображения с помощью цикла html2canvas - PullRequest
0 голосов
/ 20 ноября 2018

На моей странице у меня есть несколько блоков div.Когда я генерирую изображение с помощью html2canvas, мне нужно знать каждый идентификатор элемента, но консоль каждый раз возвращает последний идентификатор блока.Могу ли я получить правильный идентификатор?

например

   <div class='myBlock' id= 'image24' data-id='24'> .....  </div>
   <div class='myBlock' id= 'image30' data-id='30'> .....  </div>
   <div class='myBlock' id= 'image32' data-id='32'> .....  </div>
   <div class='myBlock' id= 'image45' data-id='45'> .....  </div>
   <div class='myBlock' id= 'image58' data-id='58'> .....  </div>
   <div class='myBlock' id= 'image62' data-id='62'> .....  </div>

генерация изображений с помощью HTML2Canvas

      $.each($(".thumbnailDetails"), function(){

        elId = $(this).attr('id');

        html2canvas($("#target"+elId), {
             onrendered: function(canvas) {
                .....generate Image ....
                console.log(elId); // always return last id
             }
        });


 I need to get for each image his own id, but i always get the last one.

1 Ответ

0 голосов
/ 22 ноября 2018

раствор

  i      = 0;
  ids    = [];
  images = {};

  $("...").each(function() {
       ids = $(this).attr('data-id'); //returns each image id            
  });

  someFunction() {
       html2canvas($("#image"+ids[i]), {
          onrendered: function(canvas) {
              //generate canvas
              i++;

              if(i == ids.legth) {
                 //my ajax

              } else {
                 someFunction();

              }
          }
       });

  }

  someFunction();
...