使用javascript/jquery重新安排图像/div位置的最佳方法?

使用javascript/jquery重新安排图像/div位置的最佳方法?,javascript,jquery,Javascript,Jquery,我瞥了一眼墙的来源,注意到墙块的所有跨度标记似乎都没有与任何ID关联。这让我非常好奇,当您单击其中一个没有关联ID的块/图像时,它们如何能够完成元素的动画重新定位 我很好奇你怎么能点击一张图片,然后让周围的其他图片移到一边。它是某种公式还是算法 我想完成5个跨距/块,点击其中一个,让其他人动画/移动到侧面。ID是通过JavaScript动态生成的。您不会在源代码中看到它,但如果使用检查它,您会看到它。ID不是必需的,而且通常是有害的。你不需要它们,不管是生成的还是其他的 当你把一个元素放在一个带

我瞥了一眼墙的来源,注意到墙块的所有跨度标记似乎都没有与任何ID关联。这让我非常好奇,当您单击其中一个没有关联ID的块/图像时,它们如何能够完成元素的动画重新定位

我很好奇你怎么能点击一张图片,然后让周围的其他图片移到一边。它是某种公式还是算法


我想完成5个跨距/块,点击其中一个,让其他人动画/移动到侧面。

ID是通过JavaScript动态生成的。您不会在源代码中看到它,但如果使用检查它,您会看到它。

ID不是必需的,而且通常是有害的。你不需要它们,不管是生成的还是其他的

当你把一个元素放在一个带有ID的页面上时,你就声称不管它是什么,都应该只有一个元素。这很少是真的。通常,您要做的是将某些行为与页面上的某些元素相关联,这些元素可能有多个、一个或零个

在这种情况下,有很多小的图像处理,当点击时,它们会重新排列自己。我没有一个算法来计算它们应该如何移动,但这里有一个框架,可以让您使用jQuery实现同样的效果

// create jQuery plugin for highlighting and shuffling brick dealies
(function($){

  function expandify() {
    var href = this.attr('href');
    // create a popup containing the href
    return this;
  }

  function shuffle() {
    this.each(function(index, elem){
      // calculate new position and move the element there.
    });
    return this;
  }

  $.fn.expandify = expandify;
  $.fn.shuffle = shuffle;

})(jQuery);

// attaches behaviors to elements on the page after they've loaded
// either $.ready, or window onload, or after some ajaxing takes place
$('.wallBrick')
  .click(function(e){

    $(e.target)
      .expandify();

    $('.wallBrick')
      .not(e.target)
      .shuffle();

  });