Zum Inhalt springen

# Link geht zur Startseite innerhalb der Extension

Erstellt am 10. August 2012 · 5 Antworten · letzte Antwort am 17. August 2012

Tags: Links, JavaScript & AJAX, Frage

typo3_hp ·

Guten Abend!

Innerhalb einer Extension habe ich einen Contentslider.
Dort wird mittels

$content1 .=	'<a class="button1 active" rel="1" href="#"></a>';

und einem JS der Slide ausgeführt. Ich sehe den Slide auch kurz, daraufhin wird die Startseite geladen. Der Link wird wie folgt erstellt www.domain.de/#

Wenn ich den Code:

<a class="button1 active" rel="1" href="#"></a>

als normales HTML-Objekt in Typo3 einfüge wird der Link richtig generiert:

www.domain.de/eben1/unterseite/#

Hat jemand eine Idee, wie ich das hinbekomme dass die URL der aktuellen Seite auch innerhalb der Ext. verwendet wird?

Danke und Grüße

typo3_hp ·

So!
Ok, hätte ich auch drauf kommen können!

An die komme ich ja per PHP ran:

//URL holen
$uri = $_SERVER['REQUEST_URI'];

$content1 .=	'<a class="button1 active" rel="1" href="' . $uri . '#"></a>';

Jetzt stellt sich mir nur die Frage, wie ich es unterbinden kann, dass die Seite bei einem Klick immer nach oben springt (das ist unschön, wenn der Content weiter unten ist)!
Kannst Du mir da auch einen Tipp geben?

aemka ·

das js was auf den klick auf diesen link reagiert, sollte neben dem sliden natürlich auch dafür sorgen, dass der link selber gar nicht aufgerufen wird. > event.preventDefault();

typo3_hp ·

Hallo!

Dankeschön!

Habe das jetzt mal getestet. Leider funktioniert es nicht.

<script type="text/JavaScript">
$(document).ready(function (){
    $('#button a').click(function(){
        var integer = $(this).attr('rel');
        var val = $(this).attr('value');
        var ide = $(this).attr('id');
          
      $('#myslide' + val + ' .cover').animate({left:-352*(parseInt(integer)-1)})  
        $('#myslide' + val + ' a').each(function(){
           $(this).removeClass('active'); 
         
        });
        var ID2 = document.getElementById(ide);
        $(ID2).addClass('active');
      event.preventDefault();   
    });    
});
</script>

Trotz event.preventDefault(); springt der Bildschirm nach oben und dafür funktioneren die JS-Funktionen aber nicht mehr richtig.

Was mache ich falsch?

Danke und Grüße