使用单个 mousover/hover 事件突出显示多个元素。 Jquery
Highlight several element with single mousover/hover event. Jquery
mouseover
(或任何其他)事件是否有机会在某些元素上获得关注html
例如 突出显示之前的所有单元格:
开始: class="selected"
,
完成: 具有 onmouseover 事件的单元格
#if mouse pointer is on the cell #4
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="reg"></li>
<li id="6" class="reg"></li>
<li id="7" class="reg"></li>
<li id="8" class="reg"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
#if mouse pointer is on the cell #6
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="in_range"></li>
<li id="6" class="in_range"></li>
<li id="7" class="reg"></li>
<li id="8" class="reg"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
#if mouse pointer is on the cell #8
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="in_range"></li>
<li id="6" class="in_range"></li>
<li id="7" class="in_range"></li>
<li id="8" class="in_range"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
正如您所说,要针对所有先前的元素...
$("li").hover(function(){
$(this).prevAll().not(":first").addClass("in_range");
});
更新
使用 .prevUntil()
查找以前的兄弟姐妹,直到找到第一个。为此,您必须像我在 UPDATED FIDDLE.
中所做的那样更改第一个 <li>
的 class 名称
$("li").hover(function(){
$(this).prevUntil(".not").addClass("in_range");
});
mouseover
(或任何其他)事件是否有机会在某些元素上获得关注html
例如 突出显示之前的所有单元格:
开始: class="selected"
,
完成: 具有 onmouseover 事件的单元格
#if mouse pointer is on the cell #4
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="reg"></li>
<li id="6" class="reg"></li>
<li id="7" class="reg"></li>
<li id="8" class="reg"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
#if mouse pointer is on the cell #6
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="in_range"></li>
<li id="6" class="in_range"></li>
<li id="7" class="reg"></li>
<li id="8" class="reg"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
#if mouse pointer is on the cell #8
<li id="1" class="reg"></li>
<li id="2" class="selected"></li>
<li id="3" class="in_range"></li>
<li id="4" class="in_range"></li>
<li id="5" class="in_range"></li>
<li id="6" class="in_range"></li>
<li id="7" class="in_range"></li>
<li id="8" class="in_range"></li>
<li id="9" class="reg"></li>
<li id="10" class="reg"></li>
正如您所说,要针对所有先前的元素...
$("li").hover(function(){
$(this).prevAll().not(":first").addClass("in_range");
});
更新
使用 .prevUntil()
查找以前的兄弟姐妹,直到找到第一个。为此,您必须像我在 UPDATED FIDDLE.
<li>
的 class 名称
$("li").hover(function(){
$(this).prevUntil(".not").addClass("in_range");
});