AndreasCMedlem sedan mars 20011 964 inlägg Hejsan, det där med describescriptet du hjälpte mig med förut fungerar hur bra som helst :) Skulle behöva ha din hjälp med ytterligare ett script från din hemsida. Det är ett av dina meny med bildväxling-script. Jag har frågat dig om detta förut, men jag förtod inte mycket av det hela då så jag hoppas du kan ge mig en lösning jag förstår bättre den här gången. Scriptet ser ut som följer:
<script type="text/javascript">
/* This script can be found at http://www.jojoxx.net and can
be used freely as long as these lines remains untouched. */
if (document.images) {
button_1_on=new Image;
button_1_on.src="bild1a.gif";
button_1_off=new Image;
button_1_off.src="bild1b.gif";
button_2_on=new Image;
button_2_on.src="bild2a.gif";
button_2_off=new Image;
button_2_off.src="bild2b.gif";
button_3_on=new Image;
button_3_on.src="bild3a.gif";
button_3_off=new Image;
button_3_off.src="bild3b.gif";
var re;
}
function rollIn(imgName){
if (document.images) document[imgName].src=eval(imgName + "on.src");
}
function rollOut(imgName){
if (document.images && re!=imgName) document[imgName].src=eval(imgName + "off.src");
}
function selectLink(imgName){
if(re) document[re].src=eval(re + "off.src");
re = imgName;
}
</script>
Av scriptet att döma så antar jag att den bild som scriptet fryser till när man klickar på en länk är densamma som den vid mouseover. Stämmer det? Isåfall skulle jag vilja ha en tredje bild som kommer upp vid onclick istället för samma. Förövrigt ska ju scriptet fungera likadant, tycker det fungerar utmärkt men jag skulle alltså vilja lägga till detta med en tredje bild. Man ska kunna ha en onclick-bild för varje länk såklart, det ska alltså inte vara samma bild för alla länkarna.
Hjälp, jag vet att du är fantastisk på javascript, du svarar alltid snabbt och precis med den lösning jag är ute efter.
JojoxxMedlem sedan juni 20004 308 inlägg Så bra att det fungerade.
Ditt antagande om detta script är helt rätt. För att få den funktionen du efterfrågar kan du lägga till ett bildobjekt till för varje bildgrupp (eller vad vi skall kalla det). För button 1 ex;
button_1_on=new Image;
button_1_on.src="bild1a.gif";
button_1_off=new Image;
button_1_off.src="bild1b.gif";
button_1_act=new Image;
button_1_act.src="bild1c.gif";
Sedan ändrar du funktionen selectLink() till;
function selectLink(imgName){
if(re) document[re].src=eval(re + "off.src");
document[imgName].src=eval(imgName+"act.src");
re = imgName;
}
Sedan ett allmänt tips i forumanvänding är att inte rikta en fråga i ett öppet forum till en specifik individ. Då är mail ett bättre alternativ. :)
------------------
/ J
AndreasCMedlem sedan mars 20011 964 inlägg "Sedan ett allmänt tips i forumanvänding är att inte rikta en fråga i ett öppet forum till en specifik individ. Då är mail ett bättre alternativ."
Det ska jag tänka på :)
AndreasCMedlem sedan mars 20011 964 inlägg En liten fråga till bara. Scriptet fungerar utmärkt nu förutom en liten detalj. När jag har klickat på en bildlänk så att den byts ut till den tredje bilden, för sedan muspekaren över de övriga länkarna och går över den redan klickade bilden igen så byts den ut till den andra bilden i scriptet. DVS bilden för mouseover. Detta kan jag ju förstå eftersom jag faktiskt för muspekaren över länken men kan jag typ ändra scriptet så att den klickade länken slutar att fungera som en länk. Först när man klickar en annan länk så ska länken återta sin länkform. Befarar att detta är lite för invecklat och det kanske behöver en hel del kod och inte bara ett litet tillägg sådär. Kanske finns det något alternativ som iallafall förhindrar scriptet från att återgå till mouseover-bilden när man hovrar över en aktiverad länk.
__________________________________
Kanske ska tillägga att scriptet ser ut så här nu:
<script type="text/javascript">
/* This script can be found at http://www.jojoxx.net and can
be used freely as long as these lines remains untouched. */
if (document.images) {
button_1_on=new Image;
button_1_on.src="itemsnav1 2.gif";
button_1_off=new Image;
button_1_off.src="itemsnav1 1.gif";
button_1_act=new Image;
button_1_act.src="itemsnav1 3.gif";
button_2_on=new Image;
button_2_on.src="itemsnav2 2.gif";
button_2_off=new Image;
button_2_off.src="itemsnav2 1.gif";
button_2_act=new Image;
button_2_act.src="itemsnav2 3.gif";
button_3_on=new Image;
button_3_on.src="itemsnav3 2.gif";
button_3_off=new Image;
button_3_off.src="itemsnav3 1.gif";
button_3_act=new Image;
button_3_act.src="itemsnav3 3.gif";
button_4_on=new Image;
button_4_on.src="itemsnav4 2.gif";
button_4_off=new Image;
button_4_off.src="itemsnav4 1.gif";
button_4_act=new Image;
button_4_act.src="itemsnav4 3.gif";
var re;
}
function rollIn(imgName){
if (document.images) document[imgName].src=eval(imgName + "on.src");
}
function rollOut(imgName){
if (document.images && re!=imgName) document[imgName].src=eval(imgName + "off.src");
}
function selectLink(imgName){
if(re) document[re].src=eval(re + "off.src");
document[imgName].src=eval(imgName+"act.src");
re = imgName;
}
</script>
[Redigerat av AndreasC den 30 nov 2001]
JojoxxMedlem sedan juni 20004 308 inlägg Ja just det, du får även ändra på funktionen rollIn() till;
function rollIn(imgName){
if (document.images && re!=imgName) document[imgName].src=eval(imgName + "on.src");
}
------------------
/ J
AndreasCMedlem sedan mars 20011 964 inlägg Som jag sa så är du helt otrolig. Tack :)
AndreasCMedlem sedan mars 20011 964 inlägg Behöver din hjälp igen på ett par saker. Du blir antagligen skittrött på mig, jag kräver ju en hel del hjälp, hehe men jag tror du kan fixxá detta också. Jag kör här istället för att maila dig eftersom det är samma tråd och för att jag tror att detta är det sista för den här gången.
1. Först och främst så undrar jag hur man kan aktivera scriptet från en annan länk? Om vi säger att det finns ett set med länkar som har bilder för mouseover och onclick enligt scriptet. Sedan har man ett sett med länkar i en annan del av sidan som inte berör scriptet på något vis. Jag skulle nu vilja länka ihop dessa länkar med scriptet på det viset att om jag klickar på en länk där så aktiveras onclick för en bestämd bildlänk i det första länksetet, alltså en av bildlänkarna i det första setet ändrar till bilden för sitt onclickstadie. Krångligt men jag tror du förstår.
2. Och så undrar jag också om man kan använda scriptet på flera olika länkset, eller åtminstonde två stycken. Låt oss säga att jag har ett länkset som fungerar efter scriptet som det är nu, men så vill jag också ha ett till set med ett antal bildlänkar som fungerar precis likadant med onclick och mouseover-events. Men de båda seten ska inte påverka varandra, om man tex klickar på en bildlänk i det första setet och sedan klickar på en bildlänk i det andra setet så ska bilden för onclick fortfarande vara aktiverad för bildlänken i det första setet samtidigt som en annan bild för onclick aktiveras för den i det andra setet. Två onclickevents som är aktiverade samtidigt alltså. Gud vad krångligt det blev :) Man måste väl kopiera scriptet på något vis och sedan ändra namn på funktionerna men jag kan dock inte få de båda koipierna att sluta fungera som ett enda script.
MVH / Andreas
JojoxxMedlem sedan juni 20004 308 inlägg Vet inte om det för att det är söndagkväll men jag är inte riktigt säker på vad du menar. Eventen onClick, onMouseover och onMouseout kan du flytta till vilka länkar du vill, du kan ha flera länkar som utför samma bildväxling. Try it, det kan inte mer än sprängas i luften ;)
------------------
/ J
AndreasCMedlem sedan mars 20011 964 inlägg Jag har löst det första problemet nu , eller problem föresten, jag vet inte om man kan kalla det för problem, det var ju så lättlöst så det var nästan löjligt att fråga, hehe. Var ju bara att göra som du sa, bara skriva ett onclick-event i länken som är densamma som för motsvarande länk i det första länksetet. Eftersom name="" står i bilden för länkarna i det första länksetet så är det ju dem som aktiveras. Löjligt enkelt så här efteråt. Ska se om mitt andra problem är lika enkelt, annars skriver jag här igen :)
Tack
AndreasCMedlem sedan mars 20011 964 inlägg Jag behöver nog lite hjälp med mitt andra problem iallafall. Om jag t.ex. applicerar onmouseover, onmouseout och onclick för en länk och sedan klickar på den. Då aktiveras ju onclick för den länken, men samtidigt så avaktiveras ju den länk som var klickad innan. Detta vill jag inte utan jag vill ha två olia set med länkar som använder samma script. Men de ska fungera som just två olia set med länkar som inte påverkar varandras stadier. T.ex. om jag aktiverar onclick för en länk i det andra setet så ska inte eventet ifråga för den skull avaktiveras för den länk som klickades innan, i detta exempel, i det första länksetet. Man ska alltså ha en länk aktiverad i första setet samt en i det andra. Två onclickevents aktiverade samtidigt men styrda av samma script. Detta måste ju lösas genom att man klistrar in en kopia av scriptet och döper om funktionerna eller något liknande för kör man med samma script så är det ju omöjligt att uppnå detta, de båda seten kommer ju då fungera som ett enda sett eftersom det är samma script.
______________________________________
Skall tilläggas att jag har testat ovanstående men inget resultat har uppnåtts.
[Redigerat av AndreasC den 02 dec 2001]
AndreasCMedlem sedan mars 20011 964 inlägg Jag kan förtydliga mig ännu mer genom att säga att vad jag är ute efter är två grupper av länkar som använder sig av detta scriptet, som fungerar parallelt med varandra men ej påverkar varandra. Det är svårt att förklara detta men jag hoppas du förstår.
JojoxxMedlem sedan juni 20004 308 inlägg Har inte haft så mycket tid över de senaste dagarna, så jag har inte varit här så mycket.
Lägg till en variabeldeklaration;
var re; var reb;
och ändra/ligg till så att funktionerna ser ut så här;
function rollIn(imgName){
if (document.images && re!=imgName && reb!=imgName) document[imgName].src=eval(imgName + "on.src");
}
function rollOut(imgName){
if (document.images && re!=imgName && reb!=imgName) document[imgName].src=eval(imgName + "off.src");
}
function selectLink(imgName){
if(re) document[re].src=eval(re + "off.src");
document[imgName].src=eval(imgName+"act.src");
re = imgName;
}
function selectLinkb(imgName){
if(reb) document[reb].src=eval(reb + "off.src");
document[imgName].src=eval(imgName+"act.src");
reb = imgName;
}
Så borde det fungera att använda selectLink() för en grupp länkar och selectLinkb() för den andra gruppen.
------------------
/ J
AndreasCMedlem sedan mars 20011 964 inlägg Funkar utmärkt ju :) Tack så mycket för hjälpen. En sista fråga om denna del av scriptet. Funkar detta som preload av bilderna eller kan man använda ett separat preload-script som komplement. Ett sådant script är ju inte särskilt avancerat, vet hur det ser ut men ifall detta redan är ett preload så behövs ju inte det andra.
if (document.images) {
button_1_on=new Image;
button_1_on.src="itemsnav1 2.gif";
button_1_off=new Image;
button_1_off.src="itemsnav1 1.gif";
button_1_act=new Image;
button_1_act.src="itemsnav1 3.gif";
button_2_on=new Image;
button_2_on.src="itemsnav2 2.gif";
button_2_off=new Image;
button_2_off.src="itemsnav2 1.gif";
button_2_act=new Image;
button_2_act.src="itemsnav2 3.gif";
button_3_on=new Image;
button_3_on.src="itemsnav3 2.gif";
button_3_off=new Image;
button_3_off.src="itemsnav3 1.gif";
button_3_act=new Image;
button_3_act.src="itemsnav3 3.gif";
button_4_on=new Image;
button_4_on.src="itemsnav4 2.gif";
button_4_off=new Image;
button_4_off.src="itemsnav4 1.gif";
button_4_act=new Image;
button_4_act.src="itemsnav4 3.gif";
ruta_1_on=new Image;
ruta_1_on.src="ruta1-2.gif";
ruta_1_off=new Image;
ruta_1_off.src="ruta1.gif";
ruta_1_act=new Image;
ruta_1_act.src="ruta1-3.gif";
ruta_2_on=new Image;
ruta_2_on.src="ruta2-2.gif";
ruta_2_off=new Image;
ruta_2_off.src="ruta2.gif";
ruta_2_act=new Image;
ruta_2_act.src="ruta2-3.gif";
ruta_3_on=new Image;
ruta_3_on.src="ruta3-2.gif";
ruta_3_off=new Image;
ruta_3_off.src="ruta3.gif";
ruta_3_act=new Image;
ruta_3_act.src="ruta3-3.gif";
JojoxxMedlem sedan juni 20004 308 inlägg Det är redan fixat i första delen av scriptet.
------------------
/ J
AndreasCMedlem sedan mars 20011 964 inlägg Hittade en sak till som jag inte vet hur jag ska lösa. Jag har nu tre set med länkar, jag vill kunna återställa förstaläget för samtliga länkar i ett set genom att klicka på en länk. Låt oss säga att jag har klickat på en länk i ett av de tre seten så att onclick aktiveras. Genom att sedan klicka på en textlänk som jag har döpt till reset så skall den aktiverade bildlänken, oavsett vilken det är i setet, återgå till sin ursprungsbild, alltså som den var innan jag klickade på den. Eftersom jag inte kan javascript så gjorde jag ett tappert försök genom att skriva onClick="rollOut('tunic_1_','tunic_2_','tunic_3_')". Alltså samtliga tre länkar ska återställas till ursprungsläge. Detta fungerade ju inte så jag förlitar mig än en gång till dig. Detta har du säkert hört förut men detta är nog sista grejen jag behöver hjälp nu med detta scriptet.
JojoxxMedlem sedan juni 20004 308 inlägg Ex för att nollställa det andra setet (som använder variabeln reb);
<a href="#" onClick="if(reb){ document[reb].src=eval(reb + 'off.src'); reb=false; }">
------------------
/ J
AndreasCMedlem sedan mars 20011 964 inlägg Funkar utmärkt det också :) Tack. Jag tror det var allt.