2010-11-22 12 views
3

Ich möchte diese Registerkarte belebter haben, wenn überWie mache ich diesen Tab mit jquery animieren?

Vor schwebte: before

auf schweben: after

Wie gehe ich darüber mit jquery?

<div class="recruiterLink"> 
<a href="http://mydomain.com/recruiter/"> 
<span>Recruiting?</span> 
<br> 
Advertise a vacancy » 
</a> 
</div> 

Vielen Dank!

Antwort

3

ich diesen Weg gehen würde:

$(".recruiterLink").hover(function(){ 
$(this).stop().animate({"top" : "-20px"}); 
}, function(){ 
$(this).stop().animate({"top": "0"}); 
}); 

Dies bedeutet, dass Ihr div.recruiterLink eine Positionierung

.recruiterLink 
{ 
    position: relative; 
} 
+0

Würde das noch funktionieren, wenn der div.recruiterLink absolut positioniert wäre? – Anthony

+0

Ja! Es wird funktionieren, wenn es relativ oder absolut ist. Aber dann sollten Sie ein Wrapper um Ihr Menü haben, mit relativen Positionen, damit die Schaltfläche nicht absolut auf der Seite positioniert wird, sondern auf ihrem Wrapper. – Flipke

5

dies ein Starter sein könnte, was Sie suchen:

$(document).ready(function() { 

    $('#tab-to-animate').hover(function() { 

     // this anonymous function is invoked when 
     // the mouseover event of the tab is fired 

     // you will need to adjust the second px value to 
     // fit the dimensions of your image 
     $(this).css('backgroundPosition', 'center 0px'); 

    }, function() { 

     // this anonymous function is invoked when 
     // the mouseout event of the tab is fired 

     // you will need to adjust the second px value to 
     // fit the dimensions of your image 
     $(this).css('backgroundPosition', 'center -20px'); 

    }); 

}); 

leider dieser Code die Frage falsch verstanden tun sollten, vorausgesetzt, die div als Ganzes bewegen, dass man es zunächst die Position unter Verwendung geschoben haben nach unten: relative CSS-Eigenschaft.

$(document).ready(function() { 

    $('.recruiterLink').hover(function() { 

     $(this).css({ 
      'position' : 'relative', 
      'top' : 0 
     }); 

    }, function() { 

     $(this).css({ 
      'position' : 'relative', 
      'top' : 20 
     }); 

    }); 

}); 
+0

Der 'Position haben soll: Ihren zweiten Code relative' ist repetitiv - Sie können es verschieben außerhalb der "Hover" -Funktion dort. –

+0

sehr wahr danke ... total habe ich nicht daran gedacht :) –

+0

Könnten Sie bitte näher erläutern, warum die Position: relativ sich wiederholend ist? – Anthony

1

HTML

<div class="recruiterLink"> 
<a href="http://mydomain.com/recruiter/"> 
<span>Recruiting?</span> 
<div class="hover-item" style="display:none;">Advertise a vacancy »</div> 
</a> 
</div> 

jQuery:

$(".recruiterLink").hover(function() { 
    $(this).find(".hover-item").toggle(); 
}, 
function() { 
    $(this).find(".hover-item").toggle(); 
}); 

Sie können auch einige Animationseffekte hinzufügen, wenn Sie möchten.

+0

Sie könnten die 'hover (handlerInOut (eventObject))' Form verwenden, da beide Callbacks identisch sind. – sje397

Verwandte Themen