2017-04-10 2 views
2

Ich habe diese jQuery:Stopp jQuery ausgeführt wird, wenn die Maus über das Feld schwebt auf Seite Last

jQuery('.slidey').on('hover',function(){ 
    if (jQuery(window).width() > 1151) { 
    jQuery(this).children('.post-content').stop().slideToggle(180); 
}}); 

Allerdings bin ich ein Problem zu begegnen, wo, wenn ich die Seite laden, und meine Maus ist bereits in der Position der Schiebebox, dann wird die Box nach oben geschoben und der Toggle wird umgekehrt ... Also - der Umschaltstatus, den ich zeigen möchte, wenn ich schwebe, zeigt, wenn ich nicht schwebe, und es ist eher versteckt, wenn ich es tue als andersherum ..!

Wie kann ich die jQuery dazu bringen, die Maus zu ignorieren, wenn sie beim Laden der Seite bereits darüber positioniert ist, damit diese Umkehrung nicht umgekehrt wird? Ich habe mir hier andere Fragen angeschaut und die Lösungen scheinen nicht zu funktionieren.

Ich hoffe, Sie können helfen.

Antwort

0

die Spezifikation für .hoverhere Da ich sowohl die hoverIn und hoverOut und dann anstelle der Verwendung slideToggle, verwenden slideDown und slideUp wie die Verwendung empfehlen:

jQuery('.slidey').hover( 
    function(){ 
    if (jQuery(window).width() > 1151) { 
     jQuery(this).children('.post-content').stop().slideDown(180); 
    } 
    }, 
    function(){ 
    if (jQuery(window).width() > 1151) { 
     jQuery(this).children('.post-content').stop().slideUp(180); 
    } 
    } 
); 

Auch hier See Additional Notes:

Veraltet in jQuery 1.8, in 1.9 entfernt: Der Name "Hover" wird als Abkürzung für die Zeichenfolge "mouseenter mouseleave" verwendet. Es fügt einen einzelnen Ereignishandler für diese beiden Ereignisse an, und der Handler muss event.type prüfen, um festzustellen, ob das Ereignis mouseenter oder mouseleave ist. Verwechseln Sie den Pseudo-Ereignisnamen "Hover" nicht mit der Methode .hover(), die eine oder zwei Funktionen akzeptiert.

+0

Ausgezeichnet! Vielen Dank, diese Lösung funktioniert perfekt. Ich habe ein wenig Schwierigkeiten zu verstehen, wie, könnten Sie das für mich klären? Ich habe mir die Spezifikation angeschaut und sehe, dass die '.hover' Funktion aus' mouseIn' und 'mouseOut' besteht. Wenn ich also richtig verstehe, bedeutet der Code, den du für mich geschrieben hast, dass wenn die Maus eindringt, sie nach unten rutscht, und wenn sie weggeht, sollte sie nach oben gleiten, das ist natürlich nicht der Fall ... Könntest du aufklären wo Ich liege damit falsch? Nochmals, danke für die Lösung, schätze die Hilfe wirklich. –

+0

@SamBrown - überprüfen Sie Ihre Fensterbreite. Ich musste den Prüfwert reduzieren, damit er funktioniert. Hier ist eine [Geige] (https://jsfiddle.net/5h5rc95x/1/) Hilfe zu veranschaulichen, was passiert. – Forty3

Verwandte Themen