我想使子导航测量其父宽度,然后相应地设置自己的宽度。此刻,每个子导航(.primary-navigation ul ul)都会获得一个单独的类(customWidth-0 + i)。然后使用这个类,我测量它的父母的宽度,并设置宽度减去填充。这一切都很好,但我正在学习,我想缩短脚本。我试图循环这个,使用“this”,但似乎卡住了每一点。学会以适当,稳健的方式来做到这一点很好。很感谢任何形式的帮助。谢谢。如何测量和设置宽度?
jQuery(document).ready(function() {
jQuery(".primary-navigation ul ul").each(function(i) {
i = i+1;
jQuery(this).addClass("customWidth-0" + i);
});
a = jQuery(".customWidth-01").prev().parent().width();
b = jQuery(".customWidth-02").prev().parent().width();
c = jQuery(".customWidth-03").prev().parent().width();
d = jQuery(".customWidth-04").prev().parent().width();
jQuery(".customWidth-01").css("width", a-31);
jQuery(".customWidth-02").css("width", b-31);
jQuery(".customWidth-03").css("width", c-31);
jQuery(".customWidth-04").css("width", d-31);
});
我尝试使用你的代码,但这似乎并没有伎俩。简而言之,主导航有子导航的子项。该子导航在悬停时可见。我希望子导航的宽度与其父级完全相同。例如,当您打开特定页面时,链接文字变为粗体,因此在导航中占用更多空间。所以子导航的宽度必须更长。不知道这是否说明了我的观点,但这是一个粗略的例子:http://jsfiddle.net/jmarkevicius/b2ymryp0/ – joe 2014-09-09 15:52:30
谢谢凯西。我尝试使用你的建议代码,但由于某种原因,它测量了错误的元素,因此设置了错误的宽度。这是布局的图像:http://i60.tinypic.com/23p37s。png – joe 2014-09-15 16:53:52
好的,应该可以帮到更多。我有点揣测某些东西。让我稍后再看看,因为我不能在这一分钟,但如果你事先解决它,那就很好。我会尽快告诉你。希望别人能在我之前解决它,所以你不必等太久。 – 2014-09-15 17:48:55