1

同じ mouseenter に対して と の$('.foo')両方を選択することは可能 ですか?$(this).next('.subfoo')

この方法でのインスタンスを選択する必要があるコードがあり、の上にマウスを置く'.subfoo'と の最も近いインスタンスを表示し、マウスが両方を離れるまで非表示にしないようにします。'.subfoo''.foo''.subfoo'

コードのその部分は理解できたと思いますが、1 つのステートメントで両方を選択する方法がわかりません。それについては何も見つかりません。

ありがとう

4

2 に答える 2

0

ここで私が開発していたスクリプトは、リンクのリストであり、各リンクのポップアウトにはリンクに関する詳細情報が含まれていました。この質問の目的は、アイコンの上にカーソルを置いてポップアウトを開く方法を理解し、マウスがアイコンを離れてポップアウトに入った後も開いたままにすることでした。

問題の一部は、同じページに同じ種類のオブジェクトのインスタンスが多数あったため、解決策は一般的であり、ホバーされたアイコンに最も近いポップアウトをトリガーする必要がありました。

HTML:

<li class="foo">
   <span class="icon"></span>
   <a href="">Title</a>
</li>
<li class="subfoo">
   Pop-out contents
</li>

JavaScript:

/*setup of variables and functions to be used*/

function clear(){ //set up a function to hide all pop-outs
$('.foo').each(function(){
$(this).next('.subfoo').hide()});}

var popoutHover = false; //initialize switch variable for following function:

$('.subfoo').mouseenter(function(){
popoutHover = true;}); //Set the variable to 'true' if the mouse is hovering over a pop-out

$('.subfoo').mouseleave(function(){
popoutHover = false; //Set the variable to 'false' and hide pop-outs if the mouse leaves
clear();
});

/*The main functionality*/

$('.icon').hoverIntent(function(){ //Hover over the icon for a link
        clear(); //Hide open pop-outs
        $(this)
            .closest('.foo') //Select the link next to the icon
            .siblings('.subfoo') //Select the pop-out for the link
            .slideDown(240)}, //Open the pop-out

function(){//If the mouse leaves the icon
        if (!popoutHover){ //And it is not hovering over a pop-out
        $(this)
            .closest('.foo') //Select the link
            .siblings('.subfoo') //Hide the pop-out
            .hide()}}
);

現時点で説明できるよりも優れている可能性があるため、ここに簡単なフィドルがあります: https://jsfiddle.net/kuzvgqkz/1/

于 2015-07-03T00:14:46.963 に答える
0

複数セレクター構文を使用できます

$('selector1, selector2, selectorN')

または、JQuery addメソッド

var combinedSet = $(this).next('subfoo').add('.foo');
combinedSet.mouseenter(function() { 
    //do stuff in here
});
于 2013-11-14T18:13:52.500 に答える