Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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 如何计算父元素第一行的元素数_Javascript_Jquery_Css_Ajax - Fatal编程技术网

Javascript 如何计算父元素第一行的元素数

Javascript 如何计算父元素第一行的元素数,javascript,jquery,css,ajax,Javascript,Jquery,Css,Ajax,我的问题是,在JavaScript中是否有一种方法可以确定父元素的第一行将容纳多少子元素?然后,我会将其乘以固定数量的行,然后一次查询多行 为了更好地理解正在发生的事情,如果我查询20个项目,并且页面大小为每行可以容纳6个元素,那么最后一行将留下两个空格。我想查询是否足够,以便最后一行没有空单元格 页面如下: 我正试图找到一种非常棒的方法来动态地完成这项工作,并按页面大小来调整数字。好的,我想我现在更了解你了。请尝试此代码。按原样运行并观察计数,然后转到全屏模式并再次运行 $(文档).read

我的问题是,在JavaScript中是否有一种方法可以确定父元素的第一行将容纳多少子元素?然后,我会将其乘以固定数量的行,然后一次查询多行

为了更好地理解正在发生的事情,如果我查询20个项目,并且页面大小为每行可以容纳6个元素,那么最后一行将留下两个空格。我想查询是否足够,以便最后一行没有空单元格

页面如下:


我正试图找到一种非常棒的方法来动态地完成这项工作,并按页面大小来调整数字。

好的,我想我现在更了解你了。请尝试此代码。按原样运行并观察计数,然后转到全屏模式并再次运行

$(文档).ready(函数(){
函数countFirstRowItems(父选择器、子选择器){
变量计数=0,顶部=未定义;
$(parentSelector+“>”+childSelector)。每个(函数(){
var thisTop=$(this).offset().top;
if(theTop==未定义){
theTop=这个top;
}
如果(此顶部!=顶部){
返回false;
}
计数++;
});
返回计数;
}
$('#btnCount')。单击(函数(){
$('#spnCount').html(
countFirstRowItems('.outer','.item'))
);
});
$('#spnCount').html(
countFirstRowItems('.outer','.item'))
);
});
.outer{
填充:.5em;
边缘:.5em;
盒影:嵌入0px 0px 3px#aaa;
}
.项目{
边缘:.5em;
高度:150像素;
宽度:100px;
边框:实心1px#ddd;
浮动:左;
背景色:#fdfafa;
}
.clearfix{
明确:两者皆有;
}

计算第一行的项目数
?

这在技术上不是“响应”,只是“流体”。“响应”是指如果您有断点来调整样式。但无论如何,这肯定只是一个
containerWidth/itemWidth
?我在幕后做的事情是分页。有一个查询一次显示20个,但这个数字可能会改变。。。根据宽度。它们是向左浮动的,当视口较窄时,一行中显示的数量将减少。我试图做的是动态地使这些行成为偶数-每一行中都有相同数量的项(单元格)。我必须找到一种方法来改变我正在数据库中查询的偏移量——动态地——基于页面宽度,即可以在偶数行中显示多少。这说明了吗?所以你不希望最后一行有空格?对。没有空格。如果我能找到一种方法让它计算类.moviecell的第一行,那么我可以进行一个ajax调用,让它从db中拿出一个数字,乘以第一行中的数量x 4。例如,查看我的新答案