2012-07-10 102 views
5

解释我的问题有点困难,但我会尝试使用图像。jQuery对话框的同位素问题

演示:http://jsfiddle.net/H8Qbn/13/

我尝试自动安排使用同位素jQuery的对话框。

  • 第一张照片显示,一切工作正常。

enter image description here

  • 第二图为试图调整第一个jQuery的对话框时发生了什么。它正在调整大小,所有其他对话框自动排列。

enter image description here

  • 当我尝试安排第二对话它首先移动,根据它的位置(顶部,左边),然后调整大小和所有其它对话框不会自动地布置。

enter image description here

  • 第三对话行为完全相同2.根据移动其位置(顶部,左)和不自动地布置。

enter image description here

有什么建议?

+0

有一些代码? – 2012-07-10 16:14:27

+0

我会尝试复制它在jsfiddle – glarkou 2012-07-10 16:15:32

+0

请检查http://jsfiddle.net/H8Qbn/13/ – glarkou 2012-07-10 16:28:28

回答

3

同位素不适用于可拖动对话框;有关这种类型的功能,请参见what the plugin author says

编辑Fiddled around with a few more things并得到布局重新排列时关闭对话框.remove();然而,拖拽不支持(见上文)并且手动调整大小也不起作用。为什么需要手动调整对话框的大小?不能以编程方式完成?

2

当您调整对话框的大小或添加或删除项目后,jquery masonry插件可以在周围容器上使用砌体(“重新加载”)函数调用它时计算新位置。我在我的Javascript中使用它时,我添加或删除图像到我周围的容器。您可以在我的主页上查看砌体插件,网址为http://www.chihoang.de

这是我在最后前插和追加砌筑(“刷新”)功能:

  if (ele.Additem == "Append") { 
      container.append($j("#brickTemplate").tmpl(ele).css({ 
      "display": "block" 
      })).masonry('reload'); 
     } else if (ele.Additem == "Prepend") { 
      container.prepend($j("#brickTemplate").tmpl(ele).css({ 
      "display": "block" 
      })).masonry('reload'); 
     } 

这是我删除功能:

 $j('.brick').remove(":contains('" + ele.Headline + "')"); 
     container.masonry('reload'); 
+0

看不到您网站上的手动调整大小,它是如何工作的? – Systembolaget 2012-07-20 18:48:38

+0

我已经添加了一些代码。 – Bytemain 2012-07-20 19:03:27