Archiv verlassen und diese Seite im Standarddesign anzeigen : Button mit Url Spinning
Hallo,
ich suche einen weg wie ich einen Button machen kann den ich verschiedene Links zufüge z.B.
http://www.google.com
http://www.google.de
http://www.google.ch
http://www.google.at
und je nachdem wan man auf den Button drückt kommt man dan eben auf google.com / ch / at / de wie auch immer "per" zufall quasie. Weiß jemand wie ich das machen kann ? bin leider kein scripter und ja hoffe mir kann jemand weiterhelfen :).
Beste grüße Uppa
Firefall
07.06.2011, 22:24
Dazu brauchst du JavaScript. setInterval() und setTimeout() sind wichtige Stichworte für dich. Unter Umständen geht es auch mit den neuen CSS3 Animationsfeatures, aber die werden noch nicht so breit unterstützt. Ich finde die Idee aber relativ unsinnig - man will doch nicht auf seinen Link warten.
Puh also ich versteh grad nur bahnhof und abfahrt :)
ich möchte den Button in meinen Wordpress blog einfügen wenn das weiterhilft. Vllt kannst du da etwas genauer werden :). Vllt auch einen genaueren begriff sagen das ich das mal googlen kann oder so da smuss ja irgendwie zu machen sein :). WIe gesagt bin nu nich wirklich der über scripter / programmierer xD. Aber danke schonmal für deine antwort :).
Beste grüße
Firefall
07.06.2011, 23:32
Du müsstest in deine Seite einen <script> Block einfügen, in dem mit JavaScript eine Funktion periodisch aufgerufen wird. Diese Funktion wechselt dann den text und das Ziel des Links. Etwa so:
<script>
var is_second = False; //Momentan auf erstem Link
/* Alle 5000ms = 5s wechseln*/
window.setInterval("linkwechsel();", 5000);
function linkwechsel()
{
if(is_second)
{
document.getElementById("Iddeineslinks").href = "http://www.google.com/";
document.getElementById("Iddeineslinks").textContent = "Mein neuer Linktext";
}
else
{
document.getElementById("Iddeineslinks").href = "http://www.yahoo.com/";
document.getElementById("Iddeineslinks").textContent = "Mein alter Linktext";
}
is_second = !is_second;
}
</script>
Du musst natürlich deinen Link/Whatever mit einer passenden ID ausstatten.
Hallo,
erst einmal vielen dank also mit soviel Hilfe hätte ich nicht gerechnet :).
ich möchte das ganze ja mit einem "Button" verknüpfen, für mich war deshalb die einzigste nun denkbare lösung in der Sitebar den Button einzubauen mit diesem Script. Nun leider findet keine "verlinkung" statt also er soll ja wenn ich zum beispiel jetzt draufklicke mich auf yahoo weiterleiten, wenn ich dann wieder drauf drück auf google etc. das hast du ja schon verstanden und auch super umgesetzt nur scheiterts denke ich gerade mehr an mir ^^. Ich habe das Script in den Sitebar punkt php code eingebaut ( so wie meinen anderen Button auch ) also eine verlinkung ist möglich nur ich brauche ja mehrere und wechselnde :).
Ich denke mal wegen der Link ID reicht es wenn ich google z.b. 1 gebe und bei yahoo z.b. 2 eintrage usw.
hoffe du kannst mir weiterhelfen :).
Beste Grüße Uppa
Edit als beispiel für die Link ID:
<script> var is_second = False; //Momentan auf erstem Link /* Alle 5000ms = 5s wechseln*/ window.setInterval("linkwechsel();", 5000);
function linkwechsel() { if(is_second) { document.getElementById("1").href = "http://www.google.com/";
document.getElementById("1").textContent = "das ist das der neue text"; } else { document.getElementById("2").href = "http://www.yahoo.com/"; document.getElementById("2").textContent = "der vorherige text"; } is_second = !is_second; } </script>
Edit 2:
Das ganze sieht imoment so bei mir aus :
<img class="alignnone" title="Button" src="/wp-content/themes/sleek/images/dark/button.png" alt="Button" width="280" height="100" /></a>
<script>
var is_second = False; //Momentan auf erstem Link
/* Alle 5000ms = 5s wechseln*/
window.setInterval("linkwechsel();", 5000);
function linkwechsel()
{
if(is_second)
{
document.getElementById("1").href = "http://www.google.com/";
document.getElementById("1").textContent = "Mein neuer Linktext";
}
else
{
document.getElementById("2").href = "http://www.yahoo.com/";
document.getElementById("2").textContent = "Mein alter Linktext";
}
is_second = !is_second;
}
</script>
also das oberste is der Button und dann kommt das script von dir, ich vermute ich muss dem noch sagen das er es so verlinken soll oder was ist den daran falsch
Paul Bartulec
08.06.2011, 10:03
Soll sich der Link denn nach jedem Klicken ändern oder nach bestimmten Zeitabständen?
Und soll ein zufälliger Link aus der Liste ausgewählt werden oder wird die Liste der Reihe nach durchlaufen?
Hallo,
der Link sollte sich nach jedem klicken ändern.
perfekte wäre per "zufall" :)
Paul Bartulec
09.06.2011, 08:28
Na dann ist der obige Weg mit setInterval falsch.
Dann nimmst du am besten einen globalen Zähler her und setzt ihn jedes mal neu onClick und setzt auch die Verlinkung neu.
In etwa so:
<a href = "google.de" id = "myLink" onClick = "javascript: changeLink()">Klick mich!</a>
<script language = "javascript">
counter = 0;
function changeLink(){var tmp = Math.floor(Math.random()*3;
while(counter == tmp){
tmp = Math.floor(Math.random()*3;
}
switch(counter){
case 0: document.getElementById("myLink").href = "http://www.google.com/";
break;
case 1: document.getElementById("myLink").href = "http://www.lycos.com/";
break;
case 2: document.getElementById("myLink").href = "http://www.bing.com/";
break;
}
}
</script>
Hallo,
das ist richig cool so ungefähr wollte ich das :P kann ich die ganze funktion nun noch mit einem Button Bild verbinden ?
oder muss ich nur
<img class="alignnone" title="Change" src="/wp-content/themes/sleek/images/dark/button.png" alt="Button" width="280" height="100" />
hier bei Klick mich rein setzen quasie?
<a href = "google.de" id = "myLink" onClick = "javascript: changeLink()">Klick mich!</a>
und leider ändert sich der Link nich pro klick also er bleibt immer bei /google.de aber wir kommen der sache schon sehr nahe vielen vielen dank :)hoffe kannst mir weiterhelfen.
und das von firefall das falsch is lag wohl denke ich mehr an meinen aussagen was ich genau brauche :).
Paul Bartulec
09.06.2011, 11:11
Es war immer google weil counter nie tmp zugewiesen wurde und somit immer auf 0 blieb^^
Außerdem fehlten 2 Klammern.
Der Code unten funktioniert jetzt, viel Spass
<a id = "myLink" target = "blank" href = "http://www.google.de" onClick = "javascript: changeLink()"><img src = "test.gif"/></a>
<script language = "javascript">
counter = 0;
function changeLink(){
var tmp = Math.floor(Math.random()*3);
while(counter == tmp){
tmp = Math.floor(Math.random()*3);
}
counter = tmp;
switch(counter){
case 0: document.getElementById("myLink").href = "http://www.google.de";
break;
case 1: document.getElementById("myLink").href = "http://www.bing.de";
break;
case 2: document.getElementById("myLink").href = "http://www.lycos.de";
break;
}
}
</script>
vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen DAAAANKKK !!!! :)
funktioniert einwandfrei :)
eine frage hätte ich da noch wenn ich z.b. aus den 3 links 10 links machen möchte musst ich ja theoretisch nur
function changeLink(){ var tmp = Math.floor(Math.random()*3); while(counter == tmp){ tmp = Math.floor(Math.random()*3);
aus dem 3 eine 10 machen also
function changeLink(){ var tmp = Math.floor(Math.random()*10); while(counter == tmp){ tmp = Math.floor(Math.random()*10);
und eben das andere kopieren und halt die links ändern seh ich das richtig ? :)
Paul Bartulec
09.06.2011, 12:29
Genau so ist es, so einfach kann programmieren sein ;-)
hehe :P
vielen dank nochmal :)
itabspst
24.06.2011, 11:30
Es war immer google weil counter nie tmp zugewiesen wurde und somit immer auf 0 blieb^^
Außerdem fehlten 2 Klammern.
Der Code unten funktioniert jetzt, viel Spass
<a id = "myLink" target = "blank" href = "http://www.google.de" onClick = "javascript: changeLink()"><img src = "test.gif"/></a>
<script language = "javascript">
counter = 0;
function changeLink(){
var tmp = Math.floor(Math.random()*3);
while(counter == tmp){
tmp = Math.floor(Math.random()*3);
}
counter = tmp;
switch(counter){
case 0: document.getElementById("myLink").href = "http://www.google.de";
break;
case 1: document.getElementById("myLink").href = "http://www.bing.de";
break;
case 2: document.getElementById("myLink").href = "http://www.lycos.de";
break;
}
}
</script>
sehr cool, danke... benutze den Code auch im privaten Bereich! :)
Philipp
http://www.itabs.de
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.