Ich habe Inhalt, der dynamisch geladen wird. Dieser Inhalt muss aufgrund seiner Dynamik auf folgende Weise aufgerufen werden.Setzen Sie Timeout in Hover-Funktion
Dies funktioniert einwandfrei, wenn kein setTimeout
verwendet wird. Gibt es eine Möglichkeit, in diesem Fall eine Zeitüberschreitung von 0,25 Sekunden einzustellen?
Fiddle https://jsfiddle.net/vuezt9dh/
Works
$(".wrapper").on({
mouseenter: function() {
$(this).find('.show-me').slideDown(150);
},
mouseleave: function() {
$(this).find('.show-me').slideUp(0);
}
}, '.main-page');
Funktioniert nicht
$(".wrapper").on({
mouseenter: function() {
var $this = $(this);
setTimeout(function() {
$this.find('.show-me').slideDown(150);
}, 250);
},
mouseleave: function() {
$(this).find('.show-me').slideUp(0);
}
}, '.main-page');
Was passiert, wenn Sie '$ this' nicht' $ (this) 'zuweisen? –
Was ist die Relevanz zwischen den dynamischen Elementen und der Zeitüberschreitung, sieht es so aus, als ob es nur die slideDown-Aktion verzögert, und Sie könnten einfach '$ this.find ('. Show-me'). Delay (250) .slideDown (150) ; 'dafür? – adeneo
FWIW der Code, den Sie sagen, funktioniert nichts in Ihrem jsfiddle entweder –