我实际上正在处理一个 slider ,我想找到 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% 的宽度。知道如何获得 li 的宽度吗?
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;
}
最佳答案
更新
我实际上认为使用 width()
应该没问题。我不认为这是问题所在(使用 width()
比 innerWidth()
更好,所以坚持使用)。
如果您能提供有关何时收到错误宽度的更多详细信息(当您“通过 js 传递它”时),我们可能会提供更多帮助,但这可能是一个加载问题(如果页面没有如果未完全呈现,而您尝试获取元素的宽度,则可能会得到不准确的结果)。
如果控制台返回正确的宽度,那么我认为不是 width()
函数有问题。
尝试使用 innerWidth()
。
$('li').innerWidth()
关于javascript - 当父 div 为 1000% 时,如何找到 li 的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32640398/