我希望有人可以帮助解决这个问题。
我编写了一个函数,它根据现有列表项的数量和父容器中的剩余宽度为导航中的最终 li 项添加宽度。
这适用于文档加载,并且如果调整了文档的大小并单击了 href,但在实际调整大小期间不会重新计算元素的大小。
我做了一个小提琴来帮助说明这一点。
有谁知道如何在调整窗口大小时动态进行计算?
这是js
$(document).ready(calcWidth);
$(document).resize(calcWidth);
function calcWidth(){
// get array of all the list items in the nav
var $listWidth = $('ul#main-nav li').map(function(){
return $(this).width();
}).get();
var $itemCount = $('#main-nav li').length; //this works as margin-right is set to 1px
var $contWidth = $('#main-nav').width(); // get the full container width
var $sum = 0;
$.each($listWidth,function(){$sum+=parseFloat(this) || 0;});
$('ul#main-nav li.final a').css({
width: $contWidth - $sum - $itemCount, //set the width of the final li to be the total container minus the sum of the existing li elements
height: '12px'
});
}
如果您需要在这里发布更多代码,请告诉我,但这一切都在小提琴中。
谢谢卢克