jQuery:计算轮播中的项目,可能是宽度

时间:2011-02-23 09:34:39

标签: jquery count jcarousel

我正在开发一个灵活的jCarousel,它需要一个数字才能知道它会滚动多少项。 但由于转盘的流体/液体宽度,数量也很灵活。

我想我可以做两件事:

计数项目:是否可以计算可见的项目?有很多项目,但我想要可见的项目数量。

计算:我想我可以得到宽度并将其除以项目的宽度。 div.width()/ 75 ..并使其返回单个数字。但是我如何获得DIV的宽度(比方说1421px)并将它除以75(这是项目的宽度)(这将是:18,94666666666667)但是会返回最接近的数字?

我该怎么做?提前谢谢你......

3 个答案:

答案 0 :(得分:1)

我不知道,如果只有一个简单的方法来获取可见的项目。如果我理解正确,则表示可见区域中的项目 - 否则您可以使用$('.item:visible').item作为轮播项目的类名。

计算时请尝试:

var carouselWidth = $('#carousel').width();  // carousel main div with id=carousel
var numberOfItems = Math.round(carouselWidth / 75);

希望这有帮助!

答案 1 :(得分:0)

不确定你在这里想要达到的目标,但是对于你提出的两个解决方案:

  • 通过':visible'选择器计算jquery中的可见项是可能的,但我想这对你不起作用,因为jCarousel实际上并没有通过css'display'属性隐藏项目,而是使用父元素作为掩码覆盖它们。

  • 你建议的计算可能是最好的选择,我可以看到你只需要使用javascript的内置数学函数,例如。 Math.floor(18.946)将返回18

答案 2 :(得分:0)

尝试carouFredSel:http://caroufredsel.frebsite.nl

即使您的商品尺寸可变,它也能为您完成所有计算......