2010-12-10 9 views
0

Ich versuche, das Bild zu seiner Mitte Position auf der jeweiligen li, die geklickt wird, zu verschieben. Wenn ich zum Beispiel auf Nummer 2 in der Liste klicke, wird es auf Nummer 2 verschoben. Das Problem ist, zu wissen, wo der Benutzer als nächstes klickt, wie man die aktuelle Position und welche Richtung zu gleiten versteht.Schieben Sie ein Bild nach Position mit Hilfe von jquery

Hier ist mein html

<ul id="llist"> 
        <li class="t current"><a href="#"><span>solutions</span></a><img src="images/bg-tab-leader-arrow.png" width="24" height="53" title="pointer" class="pointer" /></li> 
        <li class="m"><a href="#"><span>credit mangement solutions</span></a></li> 
        <li class="b"><a href="#"><span>third party additions</span></a></li> 
       </ul> 

Hier meine Jquery ist so weit:

$('#leader #llist li').click(function() { 
     $('.pointer').animate({'top':'+=61px'},1000,function() { 
      $(this).removeClass('current'); 
    }); 
    }, function() { 
     $('.pointer').animate({'top':'-=61px'},1000); 
     $(this).addClass('current'); 
    }); 

Jede Hilfe würde geschätzt.

Antwort

0

Idee ist es, die Position des li zu verwenden, die angeklickt wurde, sehen sie in Aktion here

$('li') 
    .click(function() { 
     var thisTop = $(this).offset().top; 
     $('.pointer').animate({'top': thisTop}); 
    }); 
+0

Süße, ich danke Ihnen sehr marvin – Andy

+0

Ist es möglich, Ihre Funktion verblassen eine Registerkarte in und out zu verlängern ? Ich weiß, das ist eine andere Frage ... – Andy

+0

Fügen Sie einfach einen Aufruf von fadeOut() auf der richtigen Registerkarte im Click-Handler hinzu. –

Verwandte Themen