Linkauflistung

oLde

Mitglied
Hallo,
ich sitze seit einiger Zeit daran, etwas mit javascript zu schreiben. Leider klappt nichts davon, da ich auch noch nicht so viel erfahrungen habe.

Es sollte mal so funktionieren..

Demoansicht

Es gibt eine anzahl von Namen und Links. Als erstes wird z.b. "Google" und der Link "www.google.de" ausgegeben. Also der text "Google" hat eine verlinkung auf "www.google.de".

Wenn man auf diesen Link klickt öffnet sich ein neues Fenster mit dem beliebigen Link und gleichzeitig ändert das Script den angezeigten Hyperlink "Google" in eine art Ladeansicht, die 6 sekunden dauert, bis der nächste Link angezeigt wird.

Könntet ihr mir vielleicht helfen, wie ich die ganze sache angehen soll?
Oder hat jemand zufällig ein Solches Script?

Ich würde mich sehr freuen, wenn ihr mir vielleicht irgendwie weiterhelfen könnt.
Mit freundlichen Grüßen oLde
 
Hi,

du könntest zwei globale Arrays definieren. Das erste enthält die Links mit den zugehörigen Beschreibungen, das zweite ist leer und dient als Hilfsarray.

In einer Funktion, die im onclick-Event des Links aufgerufen wird, wird die Ersetzung durchgeführt:
  1. Aktuelle Linkinfos in Hilfsarray schreiben
  2. Letzte Komponente aus Linkarray entfernen und in Variable speichern
  3. 3. Fenster mit aktueller URL öffnen
  4. Link aus- und Ladeelement einblenden
  5. zeitverzögerte Funktion aufrufen
    • Link ein- und Ladelement ausblenden
    • Linkeigenschaften ändern
Beispiel:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
  <!--
// Array mit Linkbeschreibung und URL
var arrLinks = [["Google", "http://www.google.de"], ["Tutorials", "http://www.tutorials.de"], ["Quaese", "http://www.canvas.quaese.de"]];
// Hilfsarray
var arrNew = [];

function changeLink(objLnk){
  // 1. Aktuelle Linksinfos in Hilfsarray schreiben
  arrNew[arrNew.length] = [objLnk.innerHTML, objLnk.href];
  // 2. Letztes Element aus Linkarray entfernen und in Variable speichern
  var arrElem = arrLinks.pop();

  // Falls das Linkarray leer ist
  if(arrLinks.length == 0){
    // Linkarray mit Werten aus Hilfsarray erneut füllen
    for(var i=0; i<arrNew.length; i++){
      arrLinks[i] = arrNew[arrNew.length-1-i];
    }
    // Hilfsarray leeren
    arrNew.length = 0;
  }

  // 3. Fenster mit aktueller URL öffnen
  window.open(objLnk.href, "hWin");

  // 4. Link ausblenden und Ladeelement einblenden
  objLnk.style.display = "none";
  objLnk.parentNode.getElementsByTagName("span")[0].style.display = "";

  // 5. Zeitverzögerte Funktion aufrufen
  hTimer = window.setTimeout(function(){
    // Link einblenden und Ladeelement ausblenden
    objLnk.parentNode.getElementsByTagName("span")[0].style.display = "none";
    objLnk.style.display = "";
    // Linkeigenschaften ändern
    objLnk.innerHTML = arrElem[0];
    objLnk.href = arrElem[1];
  }, 2000);

  return false;
}
 //-->
</script>
</head>
<body>
<div><a href="http://www.sueddeutsche.de" onclick="return changeLink(this);">Süddeutsche Zeitung</a><span style="display: none;">laden ...</span></div>
</body>
</html>

Ciao
Quaese
 
Quaese du machst mich echt glücklich xD

Kann ich dir irgendwie helfen im thema Webdesign oder anderes... als gegenleistung für die Arbeit?

mfg oLde
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück