ie9 jquery div width计算返回两个不同的结果
我有以下代码将剩余宽度重新分配给所有div:ie9 jquery div width计算返回两个不同的结果,jquery,internet-explorer-9,Jquery,Internet Explorer 9,我有以下代码将剩余宽度重新分配给所有div: var menuItems = $('.picNav .overlay .item, .picNav .overlay .home'); var parentWidth = 980; var totalItemWidth = 0; var restWidth; var moduloWidth; var resultWidth; menuItems.css({ width: "" }); for (var i = 0; i < menuIt
var menuItems = $('.picNav .overlay .item, .picNav .overlay .home');
var parentWidth = 980;
var totalItemWidth = 0;
var restWidth;
var moduloWidth;
var resultWidth;
menuItems.css({ width: "" });
for (var i = 0; i < menuItems.length; i++)
{
totalItemWidth += menuItems[i].offsetWidth;
}
restWidth = parentWidth - totalItemWidth;
moduloWidth = restWidth % menuItems.length;
restWidth -= moduloWidth;
resultWidth = restWidth / menuItems.length;
for (i = 0; i < menuItems.length; i++)
{
$(menuItems[i]).width($(menuItems[i]).width() + resultWidth);
}
$(menuItems[0]).width($(menuItems[0]).width() + moduloWidth);
var menuItems=$('.picNav.overlay.item,.picNav.overlay.home');
var-parentWidth=980;
var totalItemWidth=0;
宽度;
var模宽;
var结果;
css({宽度:});
对于(变量i=0;i
此代码段在所有当前浏览器中都能正常工作。
不过,在使用IE9进行了一些测试之后,我遇到了一个问题,即有时最后一个元素会被放到下一行。
当我调试javascript时,它会计算totalItemWidth的正确数量(在我的例子中是717px),如果我不调试(或者跳过它计算totalItemWidth的部分),它有时会得到658px
我不确定这是否是一个加载问题,或者是否还有其他问题
如果有人能给我一点启示,我会很高兴的
干杯
Carlo您不能像在
.CSS({width:“})中那样将CSS属性设置为”
代码>。使用width:“auto”
或特定的%
或px
。菜单中有图像吗?没有,这是一个带有jquery clickhey mooseman的普通div,感谢您的回复。我将属性设置为“”的那一行只是用来重置宽度的,如果我把它拿走,它不会改变任何东西。