2009-06-09 8 views
1

Ich weiß, ich brauche einen Rückruf zu verwenden, so dass html() erst nach fadeOut() passiert, aber innerhalb des fadeOut() Rückruf Ich habe keinen Zugriff auf $(this) von .hover.

Ich habe versucht, die Auswahl mit var point, aber es funktioniert nicht.

if(!$.browser.msie) { 
    points = $("div.point"); 
} else { 
    points = $("div.flash"); 
} 

Problem Gebiet:

$(points).hover(
     function() { 
      var point = $(this); 

      $('#features_key').fadeOut('normal', function(point) { 
       $('#features_key').html(point.next('.info').clone()).fadeIn('normal'); 
      }); 
     }, 
     function() { 
     } 
    ); 

HTML:

<div class="feature" id="feature0"> 
    <div class="point"></div> 
    <div class="info"><p>Roof System</p></div> 
</div> 

Antwort

8

nicht Punkt als Parameter an Ihren Rückruf für fadeOut verwenden. Es wird der Punkt Variable verstecken Sie zuvor „eingefangen“:

$(points).hover(
    function() { 
      var point = $(this); 

      $('#features_key').fadeOut('normal', function() { 
        $('#features_key').html(point.next('.info').clone()).fadeIn('normal'); 
      }); 
    }, 
    function() { 
    } 
); 
+0

Nur was ich hatte Angst, eine dumme einfache Lösung :) Danke activa. – user120048

+0

Oh, herzlichen Dank * danke *. –

0

Punkt als Parameter in der Callback-Funktion setzen, Sie Zurücksetzen es Wert in dieser Funktion.