Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery';t在动态调整项目后,正确重新安排_Javascript_Jquery_Css_Jquery Isotope_Jquery Masonry - Fatal编程技术网

Javascript jQuery';t在动态调整项目后,正确重新安排

Javascript jQuery';t在动态调整项目后,正确重新安排,javascript,jquery,css,jquery-isotope,jquery-masonry,Javascript,Jquery,Css,Jquery Isotope,Jquery Masonry,我有一个同位素布局和一切-排序,过滤和一般显示-工程伟大。但我必须让同位素项目在点击时可以展开。我通过一个span类实现了这一点,该类在初始页面加载时通过JavaScript隐藏,但可以通过单击另一个span类进行切换 这在一定程度上是有效的:文本是可切换的,但布局不会在单击时调整大小,尽管我包括.isotox('layout')。具体的jQuery代码如下所示: $(".risknotes").hide(); $grid.on( 'click', '.Point', function()

我有一个同位素布局和一切-排序,过滤和一般显示-工程伟大。但我必须让同位素项目在点击时可以展开。我通过一个span类实现了这一点,该类在初始页面加载时通过JavaScript隐藏,但可以通过单击另一个span类进行切换

这在一定程度上是有效的:文本是可切换的,但布局不会在单击时调整大小,尽管我包括
.isotox('layout')
。具体的jQuery代码如下所示:

   $(".risknotes").hide(); $grid.on( 'click', '.Point', function() {
    $(this).parent().find(".risknotes").toggle(2000);
    $(this).parent().toggleClass('bigger');
     $grid.isotope('layout')
    });

有趣的是:如果我点击一个过滤器,或者一个排序按钮,所有的东西都能完美地调整大小。只是不是在初始加载或单击时。我制作了一个JSFIDLE来重现这个问题:

你的问题是jquery花点时间来完成toggle
。ricknotes
但是会立即重新启动。 您可以使用的
complete
选项进行如下处理:

$grid.on('click', '.Point', function() {
            $(this)
                .parent()
                .find(".risknotes")
                .toggle({ duration: 200,complete: function(){ $grid.isotope('layout') } });
            $(this)
                .parent()
                .toggleClass('bigger');

        });

天哪,非常感谢你!这个很好用!!我不知道切换/重新播放时间的问题!只剩下一个问题。。您知道为什么初始荷载下的布局在水平网格线之间有巨大的间隙吗?如果我点击一个按钮,间隙就会消失。编辑:没关系,我只是在页面加载后添加$grid.isotophe('layout')来修复这个问题:)