jQuery width()为移动设备中的所有元素返回相同的值

时间:2015-05-27 13:49:01

标签: javascript jquery html twitter-bootstrap

我正在用一个类计算所有元素的宽度,在桌面上这个工作正常(所有总宽度是2862)并且我得到一个确切的数字。在移动设备上,但是所有元素都具有相同的宽度(290px),导致滚动溢出占用2行。

var daywidth = 0;
$(".timetable-day").each(function(){
    daywidth += $(this).outerWidth();
});

jsfiddle:https://jsfiddle.net/7j8kskf0/

我尝试过width,outerwidth和this.offsetWidth(普通的javascript),但我不知道是什么导致了这个问题。任何帮助都会很棒。我正在使用bootstrap 3。

2 个答案:

答案 0 :(得分:0)

您在此处发布的代码适用于Android& iOS版。 亲眼看看:http://pascha.org/test/test.php

你的问题必须在其他地方。

可能的想法: 在引导程序中,某些类在移动浏览器上扩展到100%宽度。 我想你可能已经使用过其中一个类了。

或者你已经改变了移动输出的一些风格,不记得了; - )

答案 1 :(得分:0)

我从中发现的解决方案是在css中给出时间表 - 内部/内部滚动div的最小宽度为3000px,然后修改javascript:

    $(".timetable-inner").css("min-width", daywidth + "px");

这可以按预期工作。该空间使所有元素能够在同一行上运行,然后JavaScript缩小div。