无法使其正常工作。
如果窗口是> 800应该有6个图像红色背景
如果窗口是< 800应该有4个图像蓝色背景
应该在调整大小和加载时工作。我错过了什么?
var $container = $(container);
$(window).on("resize", function () {
$('.items > .item', $container).each(function (i) {
if ($(window).width() > 800) {
if (i % 6 == 0) {
$(this).nextAll().andSelf().slice(0, 6).wrapAll('<div class="wrap fadeIn"></div>');
}
$(".grid-container").removeClass('four');
$(".grid-container").addClass('six');
}
if ($(window).width() < 800) {
if (i % 4 == 0) {
$(this).nextAll().andSelf().slice(0, 4).wrapAll('<div class="wrap fadeIn"></div>');
}
$(".grid-container").removeClass('six');
$(".grid-container").addClass('four');
}
})
}).trigger('resize');
答案 0 :(得分:0)
第一次,这匹配了许多项目:
$('.items > .item', $container)
但是,第一次运行会改变您的DOM,使其不再匹配任何内容。您将项目包装在div
个元素中,以便.items
不再有任何直接.item
个孩子。
你的处理程序开火但是没有任何循环。
答案 1 :(得分:0)
我添加了一个整体div,以便更容易定位项目
你有
'.items > .item'
我把它改成了
'.items .item'
由于您使用div包装项目&gt;选择器不再起作用
如果您希望代码与您编写的代码相同,那么http://jsfiddle.net/Ejek6/5/ 我只更新了选择器
在这个版本中,我移动了窗口宽度的检查,因此效率更高