0

我有列表,我正在尝试编写 jQuery 代码来计算之前的 li 宽度,而不是悬停在某个元素上。例如,如果我悬停第三个元素,我需要获得第一个 + 第二个元素的宽度。

<ul>
    <li>First</li>
    <li>Second</li>
    <li>Third</li>
    <li>Fourth</li>
</ul>

目前的代码:

jQuery('ul li').each(function() {
    jQuery(this).hover(function () {
        jQuery(this).prevAll().width();
    });
});

但我只得到一个先前的元素宽度。有人可以帮忙吗?

4

3 回答 3

1

如果你想要宽度的总和:

jQuery('ul li').each(function() {
    jQuery(this).hover(function () {
        var prevWidth = 0
        jQuery(this).prevAll().each(function(){prevWidth  += $(this).width();});
        alert(prevWidth );
    });
});
于 2013-04-17T14:25:32.770 回答
1
jQuery('ul li').on('mouseenter', function () {
    var width = 0;
    jQuery(this).prevAll().each(function() {
        widht = width + $(this).width();
    });
    console.log(width);
});
于 2013-04-17T14:27:05.553 回答
0

尝试这个 -

jQuery(this).prevAll().each(function(){
  $(this).width();
});
于 2013-04-17T14:23:54.293 回答