我实际上正在做一个滑块,我想找出li元素的宽度。
<div class="slider"><div class="touch-slider-viewport">
<ul style="width: 1000%; transition: 0.5s; transform: translate3d(0px, 0px, 0px);">
<li>
<div>
<img src="images/01.jpg">
<p>Something Something </p>
</div>
</li>
</ul>我试过使用$('li').width(),当我通过我的js传递它时,它给了我一些不同的宽度,但当我在控制台中尝试它时,它给我提供了li元素的正确宽度。我想这是因为我为父元素指定了1000%的宽度。你知道我怎么才能得到里的宽度吗?
CSS:
@media all and (min-width: 1024px) {
.slider li{
width:2.38%;
}
}
@media (min-width: 504px) and (max-width: 1023px) {
.slider li{
width:3.3%;
}
}
@media all and (max-width: 503px) {
.slider li{
width:4.6%;
}
}
.slider li{
margin-left:8px;
margin-right:8px;
}发布于 2015-09-18 05:45:58
更新
实际上,我认为使用width()应该没问题。我不认为这是问题所在(使用width()比使用innerWidth()更好,所以坚持使用它)。
如果你能提供更多关于何时接收到错误宽度的详细信息(当你“通过你的js传递它”时),我们也许能提供更多的帮助,但这可能是一个加载问题(如果页面还没有完全呈现,而你试图获取元素的宽度,你可能会得到不准确的结果)。
如果控制台返回正确的宽度,那么我不认为是width()函数有问题。
尝试使用innerWidth()。
$('li').innerWidth()
https://stackoverflow.com/questions/32640398
复制相似问题