Ich habe eine Liste von Optionsfeldern, die sich in einem DIV namens "radio-btns-wrapper-wjs" befinden, dieses DIV gleitet nach unten/oben, wenn Sie auf einen "Trigger" klicken Element, in meinem Fall eine < span> mit der Klasse "selected-search-wjs".Element verbergen, wenn angezeigt (ein kleiner komplexer Fall)
Der DIV "radio-btns-wrapper-wjs" wird wieder angezeigt, wenn der Benutzer einen der Optionsfelder auswählt.
Dies auch schon bewegt „radio-btns-Wrapper-wjs“ DIV seine Maus über und es hat sich wieder auf, wenn der Benutzer keine Aktion nehmen (kein Optionsfeld), aber DIV gleitet dann auszieht .
So weit, so gut.
Was ich brauche, ist die gleiche DIV haben „Radio-btns-Wrapper-wjs“, nach hinten schieben, wenn der Benutzer seine Maus bewegt sich von der < span> „ausgewählt Suche-wjs“ Element aber NICHT wenn der Benutzer seine Maus über das DIV "radio-btns-wrapper-wjs" bewegt.
Die Sache ist, dass ist, dass, wenn dies zu tun:
$('.selected-search-wjs').mouseleave(function() {
$('.radio-btns-wrapper-wjs').slideUp();
});
Die DIV mit der Radiobuttons „Radio-btns-Wrapper-wjs“ gleiten zurück, sobald ich verlassen, dass DIV zu wählen ein Optionsfeld
brauche ich einen Zustand, der etwas sagt wie:.
„Ausblenden der DIV‚radio-btns-Wrapper-wjs‘, wenn der Benutzer über Sie schwebt und dann schwebt Sie auch heraus, verstecken diese gleiche DIV, wenn die Der Benutzer bewegt seine Maus weg von der < Spanne> "selected-search-wjs", aber NICHT, wenn er seine Maus über den DIV "radio-btns-wrapper-wjs" bewegt. "
Macht das alles Sinn?
Hier ist mein HTML:
<div class="radio-btns-wjs"><span class="selected-search-wjs"> </span>
<div class="radio-btns-wrapper-wjs">
<label>
<input type="radio" name="rb" value="all" id="all">
All</label>
<label>
<input type="radio" name="rb" value="ln" id="ln">
Option 1</label>
<label>
<input type="radio" name="rb" value="prodsandserv" id="prodsandserv">
Option 2</label>
<label>
<input type="radio" name="rb" value="publications" id="publications">
Option 3</label>
<label>
<input type="radio" name="rb" value="comm" id="comm">
Option 4</label>
<label>
<input type="radio" name="rb" value="lweb" id="lweb">
Option 5</label>
</div>
</div>
Meine jQuery:
//This slides up/down the DIV with the radio buttons
$('.selected-search').addClass('selected-search-wjs').removeClass('selected-search').append('Please Select…').click(function() {
$('.radio-btns-wrapper-wjs').slideToggle('fast');
});
//This hides the DIV with the radio buttons, if the user has hovered over it
$('.radio-btns-wrapper-wjs').mouseleave(function() {
$(this).slideUp();
});
Wie Sie sehen, ich jQuery bin sehr neu, aber das ist viel jetzt über meinen Kopf.
Jede Hilfe wird sehr geschätzt.
Hier ist ein anschauliches Beispiel: http://jsfiddle.net/t2HkQ/3/
Dank.
Yep! Ihre Lösung funktionierte einwandfrei. Harry, ich musste nur die Position des DIV mit den Optionsfeldern anpassen, um die < span > zu berühren, da ich eine 1px Lücke zwischen ihnen verließ, so dass das DIV wieder nach oben rutschte. Ich mochte deine Lösung besser, weil sie ein wenig HTML-effizienter ist als Rionmonster, aber die Lösung von Rionmonster funktionierte genauso gut. Danke vielmals! Sehen Sie eine Demo mit der Lösung hier: http://jsfiddle.net/t2HkQ/6/ –
Wenn es Ihnen nichts ausmacht, werde ich Ihr Update zu meiner Antwort hinzufügen. Es tut mir leid, dass ich nicht eingearbeitet habe, ich ging aus der Tür und hatte keine Zeit, es zu testen. –