带有砌体插件的Jquery回调
我有一个基本的切换开关,在关闭所有其他类似div时显示单击的div。这很好,切换不是问题。见下文:带有砌体插件的Jquery回调,jquery,callback,Jquery,Callback,我有一个基本的切换开关,在关闭所有其他类似div时显示单击的div。这很好,切换不是问题。见下文: $(document).ready(function(){ $('.threadWrapper > .littleme').click(function() { $(this).next().toggle('slow'); $(this).toggle('slow'); $('.littleme').not(this).next().hide('slow'); $('.li
$(document).ready(function(){
$('.threadWrapper > .littleme').click(function() {
$(this).next().toggle('slow');
$(this).toggle('slow');
$('.littleme').not(this).next().hide('slow');
$('.littleme').not(this).show('slow');
return false;
}).next().hide();
});
$(function(){
$('#mainContent').masonry({
columnWidth: 200,
itemSelector: '.threadWrapper:visible',
});
});
我还使用了用于jQuery的Mashine pluggin,它将所有选定的div元素按纵向和纵向进行组织。对于各种不同的div高度,它同样适用。见下文:
$(document).ready(function(){
$('.threadWrapper > .littleme').click(function() {
$(this).next().toggle('slow');
$(this).toggle('slow');
$('.littleme').not(this).next().hide('slow');
$('.littleme').not(this).show('slow');
return false;
}).next().hide();
});
$(function(){
$('#mainContent').masonry({
columnWidth: 200,
itemSelector: '.threadWrapper:visible',
});
});
我希望它在每次div展开或折叠时重新组织布局。实际上,触发.mashise命令作为初始.click函数的回调。这对我不起作用。初学者问题的同位语
看看它现在是如何工作的:kalpaitch.com
安德鲁
加比-谢谢你的语法检查,我很擅长把它们弄得乱七八糟,然后花半个小时到处寻找它们
Cyro-这很完美,很有效,我将在不久的将来使用它。我打算添加的内容是,在以动画速度显示/隐藏/切换这些内容的情况下,如何实现这一点(上面的代码相应更改)。然后,在div被扩展之前,砌体调用将被触发(就像目前在kalpaitch.com上发生的那样)。非常感谢您的回答,这样做肯定会更简单。您在包含massy.js文件的路径中有错误 当它应该是
js/jquery.massy.js
时,可以使用js/jquery.massy.js
(大写js)
在传递给砖石结构的选项末尾有一个额外的逗号(,)
在修复示例中的这些错误后,只需像Cryo在其回答中提到的那样再次运行Mashise代码…尝试重新运行Mashise调用,以便在单击更改解决后重新调整页面:
$(document).ready(function(){
$('.threadWrapper > .littleme').click(function() {
$(this).next().toggle();
$(this).toggle();
$('.littleme').not(this).next().hide();
$('.littleme').not(this).show();
// re-run masonry
$('#mainContent').masonry({
columnWidth: 200,
itemSelector: '.threadWrapper:visible'
});
return false;
}).next().hide();
});
编辑:查看Mashise文档,似乎Mashise将保存您的初始设置,因此您只需再次调用main方法。这也应该起作用:
$(document).ready(function(){
$('.threadWrapper > .littleme').click(function() {
$(this).next().toggle();
$(this).toggle();
$('.littleme').not(this).next().hide();
$('.littleme').not(this).show();
// re-run masonry
$('#mainContent').masonry();
return false;
}).next().hide();
});
我也有一个开关,并不能让砌体重新加载的效果。 但当物品淡出(过滤)后,我确实让砖石重新装填
请参阅:已经有一段时间了,但由于我在搜索其他内容时一直在问你的问题,所以我在这里添加了一个.reload函数。这对我有用:
$(window).resize(function(){
var wallWidth = $wall.width();
var width = $(window).width();
if ( width<700 ) {
$('.brick').css( 'width', wallWidth/1);
$wall.masonry( 'option', { columnWidth: wallWidth/1 });
$wall.masonry( 'reload' );
} else if ( width>=700 && width<1024 ) {
$('.brick').css( 'width', wallWidth/2 - 1);
$wall.masonry( 'option', { columnWidth: wallWidth/2 });
$wall.masonry( 'reload' );
} else if (width>=1024) {
$('.brick').css( 'width', wallWidth/3 - 1);
$wall.masonry( 'option', { columnWidth: wallWidth/3 });
$wall.masonry( 'reload' );
}
});
$(窗口)。调整大小(函数(){
var wallWidth=$wall.width();
变量宽度=$(窗口).width();
如果(宽度=700&&width=1024){
$('.brick').css('width',wallWidth/3-1);
$wall.Mashiness('option',{columnWidth:wallWidth/3});
$wall.砌石(‘重新加载’);
}
});
非常好。虽然有点不幸,IE仍处于90年代的淡出期。我尝试了一个超时,它工作正常,但这看起来更顺利。介意我看看你的结局吗?你能解释一下吗?第一次运行后,如何强制砖石再次运行?这在任何地方都有记录吗?嗯,我会使用德桑德罗最新的同位素,包括过滤。但是,如果您遵循我的链接并查看代码,您将看到我在哪里添加了过滤函数和超时