【发布时间】:2015-09-18 10:18:56
【问题描述】:
我实际上正在研究一个滑块,我想找到 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;
}
【问题讨论】:
-
试试
parseFloat($('li').css('width'))。 jQuery 的width()方法在某些情况下可能会返回错误或不一致的结果。 -
取决于您何时检查它......显示完整代码。检查时是否加载了图像?元素也可见吗?如果没有完整的详细信息,问题就不清楚
-
您需要在文档准备好之后调用 javascript 以避免任何不一致......也是 1000px 还是 1000% ?您还可以使用浏览器开发者工具检查
li的宽度(Chrome 中的示例:puu.sh/keUyo/3c7690a95d.png) -
@Aziz 抱歉,我只是在试验 1000px,我现在已经编辑过了。是的,我可以看到宽度,但我需要变量中的宽度。当我通过 JS 执行此操作时,它给了我错误的宽度,准确地说,它给了我值 width/10。我很困惑为什么要这样做。
-
非常感谢你们的帮助。在我打电话后声明宽度是我的愚蠢错误。现在已经修好了。
标签: javascript jquery html css slider