jQuery Masonry 在 slideToggle 事件上重叠 div

标签 jquery html jquery-masonry overlapping expandable

目前我在使用 jQuery Masonry 插件时遇到了一个烦人的错误。 事情是这样的:我想做一个两栏的常见问题解答页面,我在其中用砖石 float div。 在这个 div 里面是一个 h3-Tag,它会触发一个 slideToggle 事件,并展开一个隐藏的 div (div.answer)。问题是,如果我单击 h3 标签并触发事件,div.answer 会扩展,但会覆盖下面的 div 几秒钟,直到它到达最终和正确的位置。

这是 slideToggle 事件的脚本: (如您所见,我已经尝试在脚本中的多个位置调用 masonry 函数,但并没有解决问题)

$(document).ready(function() {
            $('.answer').hide();
            $('#container').masonry();
            $('.show').click(function() {
                imgelem = $(this);
                $(this).parent().next().stop().slideToggle("slow", function() {
                    $('#container').masonry('reload');
                    if ($(this).css("display") == "none") {

                        imgelem.attr("src", "images/expand.png");
                    }
                    else {
                        imgelem.attr("src", "images/collapse.png");
                    }
                });
                    $('#container').masonry();
            }); 
            $('#container').masonry('reload');  
        });

在这里你可以看到问题:http://jsfiddle.net/2huZd/3/

我希望有人能帮助我!

编辑:没有人能解决这个问题? :(

最佳答案

您可以在 slideToggle() 函数上使用 step 选项并告诉 masonry 重新计算每一步的位置...但可能需要处理的信息太多如果您的网格上有太多元素。

关于jQuery Masonry 在 slideToggle 事件上重叠 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318994/

相关文章:

jquery - 使用 JQUery 删除具有相同类的嵌套元素保留最里面的元素

php - 我无法收到火灾警报。我缺少什么?

javascript - 尝试为包含可点击图像的网站构建主页

php - How to use 'time'(来自数据库的数据,数据类型: timestamp ) for plotting graph in Chart JS

c# - 无法使用 iText7 合并内存中的 PDF 文件

jquery - 使用 jQuery Masonry 时图像重叠

jquery - 如何使用 css 和/或 js 实现此框布局?

javascript - 将带有标题的 HTML 文档分成多个部分

javascript - 根据所做的选择导致特定页面的 slider /向导

css - 使 jQuery Masonry 响应 iPhone/iPad