Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何计算所有以前的';李';悬停时的元素宽度?_Jquery_Hover_Width - Fatal编程技术网

Jquery 如何计算所有以前的';李';悬停时的元素宽度?

Jquery 如何计算所有以前的';李';悬停时的元素宽度?,jquery,hover,width,Jquery,Hover,Width,我有一个列表,我正试图编写jQuery代码来计算前面的li宽度,而不是停留在某个元素上。例如,如果我将鼠标悬停在第三个元素上,我需要获得第一个+第二个元素的宽度 <ul> <li>First</li> <li>Second</li> <li>Third</li> <li>Fourth</li> </ul> 但我只得到一个前面的元素宽度。有人能帮

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

<ul>
    <li>First</li>
    <li>Second</li>
    <li>Third</li>
    <li>Fourth</li>
</ul>
但我只得到一个前面的元素宽度。有人能帮忙吗?

试试这个-

jQuery(this).prevAll().each(function(){
  $(this).width();
});

如果需要宽度之和:

jQuery('ul li').each(function() {
    jQuery(this).hover(function () {
        var prevWidth = 0
        jQuery(this).prevAll().each(function(){prevWidth  += $(this).width();});
        alert(prevWidth );
    });
});
jQuery('ul li').each(function() {
    jQuery(this).hover(function () {
        var prevWidth = 0
        jQuery(this).prevAll().each(function(){prevWidth  += $(this).width();});
        alert(prevWidth );
    });
});
jQuery('ul li').on('mouseenter', function () {
    var width = 0;
    jQuery(this).prevAll().each(function() {
        widht = width + $(this).width();
    });
    console.log(width);
});