我已经在我的图像库上实现了jquery同位素。
在图库中我有图像上传表单,用户上传图像后我返回Json对象与关于上传图像的数据。
基于这些数据我想添加新的图像到同位素容器。
我尝试了几种方法,但都失败了。
最后一个将图像添加到容器,但新图像在旧图像的下方。
我必须错过一些东西,但找不到什么。
添加元素到同位素容器使图像重叠
$("#ajaxUploadForm").ajaxForm({
...
success: function (result) {
var $container = $('#container');
var $newItems = $('<div class="imgItem"><a class="fancybox-button" rel="fancybox-button" href="' + @Url.Content("~/") + result.messageOriginal+ '"> <img src="'+ result.message +'" /> </div></a>');
$container.prepend($newItems).isotope('reloadItems').isotope({ sortBy: 'original-order' });
...
这是我的加载项目时,用户打开网页
$(window).load(function() {
var $container = $('#container');
$container.isotope({
itemSelector: '.imgItem',
filter: '*',
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}
...
这是对每个项目模板:
<div class="imgItem">
<a class="fancybox-button" rel="fancybox-button"
href="@Url.Content("~/" + @i.Media.PathOriginal)"
>
<img src="@Url.Content("~/" + @i.Media.PathMedium)" alt="" />
</a>
</div>
当您将新项目追加(添加)到同位素的容器时,同位素需要项目的宽度和高度来正确布置它们。请参阅imagesLoaded选项以及如何使用Ajax加载和附加新项目。 – Systembolaget