Ihre Wähler, "a"
, werden alle a
Elemente auf der Seite anzeigen lassen. Das bedeutet, dass alle drei Ihrer Funktionen, die alle nach ungefähr drei Sekunden ausgelöst werden, alle Links auf die gleiche URL ändern.
Sie müssen jeden Selektor für den Link, den er ändern wird, festlegen. Sie können mit id
s auf die Links tun, oder durch ihre (original) href
oder ein class
usw. verwendet
Beachten Sie auch, dass alle drei Ihrer Funktionen bei gleichzeitig fast genau gefeuert werden. Wenn das Ihr Ziel ist, verwenden Sie nur eine einzige Funktion, um alle Aktualisierungen durchzuführen. Wenn Ihr Ziel ist ein Feuer zu haben, dann neben dem, dann dem nächsten, entweder verketten sie:
setTimeout(hyperlink1,3000);
function hyperlink1() {
$("a").attr("href", "[URL1]")
setTimeout(hyperlink2,3000);
}
function hyperlink2() {
$("a").attr("href", "[URL2]")
setTimeout(hyperlink3,3000);
}
function hyperlink3() {
$("a").attr("href", "[URL3]")
}
... oder eine einzelne Funktion verwendet werden, die durch eine Reihe geht. Es hängt davon ab, wie komplex die echten Funktionen sein werden und ob Sie versuchen, immer nur einen Link zu aktualisieren oder eine Reihe von Links einzeln zu aktualisieren.
Wenn Sie nur den einen Link, und Sie versuchen, es einfach immer wieder zu aktualisieren, können Sie nur ein Array wie folgt laufen:
function update() {
var index = 0,
urls = [
"/path/to/first",
"/path/to/second",
"/path/to/third"
];
setTimeout(tick, 3000);
function tick() {
var href = urls[index++];
if (href) {
$("a").attr("href", href);
if (index < urls.length) {
setTimeout(tick, 3000);
}
}
}
}
update();
... aber wenn es wirklich nur die drei, die Sie hab aufgelistet, naja, die drei funktionen verkettet via setTimeout
ist knapp und übersichtlich. Prägnant und klar sind gute Dinge (tm).
Die HTML für die Seite ist richtig, es in der Frage - es gibt nur ein '' Element ist, so dass der Wähler ist in Ordnung. Wie das ein upvote bekam - geschweige denn vier (zu dem Zeitpunkt, an dem ich diesen Kommentar schreibe - geht über mich hinaus. –
@AnthonyGrist: Es gibt keine Seite von HTML in der Frage. Es gibt einen * Auszug *. –
Kurz und klar sind gute Sachen, und da ich ein komplettes Noob bin, sehr hilfreich.Es hat perfekt geklappt, ich würde unbedingt deine Antwort markieren, aber ich kann nicht !!! Danke TJ! –