26. maj 2005 - 22:45Der er
25 kommentarer og 1 løsning
Hent numerisk næste side - script?
Jeg har 4 forskellige html-sider, som jeg gerne vil kunne kalde frem én efter én i samme iframe, men kun ved hjælp af et stk. knap/link.
Jeg forestiller mig at siderne kunne hedde side1, side2, side3 og side4. Når man så klikker på knappen/linket hentes side1, ved næste klik hentes side2 osv. Efter side4 hentes side1 igen. Det vigtige er at funktionen _IKKE_ køre i random, men i numerisk rækkefølge!
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
sådan her ? --- <script> function skift(){ var elm = document.getElementById('mybutton'); var elm1 = document.getElementById('myframe'); if (elm.value == 'side1'){ elm1.src='side1.htm'; elm.value='side2'; }else if (elm.value == 'side2'){ elm1.src='side2.htm'; elm.value='side3'; }else if (elm.value == 'side3'){ elm1.src='side3.htm'; elm.value='side4'; }else if (elm.value == 'side4'){ elm1.src='side4.htm'; elm.value='side1'; } } </script>
Der var lige en slå fejl så den duede kun i FF.. nu dur den også i IE :o) ---- <script> function skift(){ var elm = document.getElementById('mybutton'); var elm1 = document.getElementById('myframe'); if (elm.value == 'side1'){ elm1.src='side1.htm'; elm.value='side2'; }else if (elm.value == 'side2'){ elm1.src='side2.htm'; elm.value='side3'; }else if (elm.value == 'side3'){ elm1.src='side3.htm'; elm.value='side4'; }else if (elm.value == 'side4'){ elm1.src='side4.htm'; elm.value='side1'; } } </script>
-- og det er ikke genialt, når man kalder en funktion, som har dybt brug for en property fra det element, som kalder det, og ikke engang sender elementet med, så man undgår evt. problemer med at finde det ...
-- men f.eks.
function skift(elm){ var num = elm.value.match(/\d+$/)[0]; document.getElementById('myframe').src = "side" + num + ".html";
/* eller en helt anden løsning: var side = elm.value;//a-ting med en value vil dog give valideringsfejl ... document.getElementById('myframe').src = side; */ }
-- og det skal selvfølgelig tilføjes, at der i eet html-dokument _aldrig_ kan findes mere end eet element med samme id, så det vil f.eks. være smart at benytte sig af det til nummerereringen:
<input type="image" id="mybutton" value="side2" onclick="skift();" src="/changer.gif" border="0"> ...og det er da sådan set også fint nok (hvis det ikke kan være anderledes).
For hvis jeg putter onmouseover ind i, så virker scriptet _KUN_ i IE.
En anden dum lille ting ved [input type="image"-metoden] er den grimme markering FireFox laver rundt om knappen når man klikker. - Ikke særlig fiks...
Jeg prøvede lige hurtigt dit onmouseover-link, Roenving. Det får jeg heller ikke til at virke rigtigt i fx FireFox. Mouseover-effekten virker, men resten virke ikke... (scriptet).
Nå men, skal på arbejde imorgen, så er først tilbage lørdag engang - så kigger jeg videre på det. Ka' i ha' det!
roenving >> nu kan man jo diskutere hvad som er genialt og hvad som ikke er. Har hørt olebole sige engang at regulære udtryk "suger" en del. Så er det genialt?. Er det genialt at bruge regulære udtryk hvis man ikke er godt inde i dem og senere engang skal rette i sin kode og ikke kan tyde dem? Hehe - nå jo.. man kan jo så altid gå på eksperten :P
roenving >> By the way.. hvor sørger du for at man efter side 4 kommer til side et igen? Tæller din ikke blot en op hver gang?
baseig >> nu skal jeg så ikke sige om du vælger roenvings. For ingen tvivl om at regulære udtryk da er kortere. En <a> har ikke nogen value. Jeg troede der skulle stå hvilken side man gik til. Men det kan man bare droppe og lade den være en "næste". Så den burde kunne se sådan her ud så. -- <A onmouseover="skiftBillede('changer','billede54')" onmouseout="skiftBillede('changer','billede53')" onclick="skift();"/><IMG src="/changer.gif" height=26 width=26 border=0 name=changer></A> -- Da den nu ikke skal skifte så undgår vi også det ugeniale med den sender sig selv med. For det er slet ikke nødvendigt, da den ikke skal skifte ;o) funktionen er derfor -- <script> function skift(){ var elm = document.getElementById('myframe'); if (elm.src == 'side1.htm'){ elm.src='side2.htm'; }else if (elm.src == 'side2.htm'){ elm.src='side3.htm'; }else if (elm.src == 'side3.htm'){ elm.src='side4.htm'; }else if (elm.src == 'side4.htm'){ elm.src='side1.htm'; } } </script>
Hvis man kender antallet af sider, kan man jo også bare tage den fra urlen ?-)
Synes godt om
Slettet bruger
28. maj 2005 - 15:29#11
Hvad der er genialt eller ikke genialt, skal jeg ikke udtale mig om, når det drejer som om koder. Det var bare et udtryk for min begejstring - ikke andet.. (sorry)
Ikke desto mindre har jeg endnu ikke et KOMPLET script, som virker med mouseover-knappen i flere browsere... Har prøvet forskelligt frem og tilbage i mange mange timer nu, og nu gider jeg ikke bruge meget mere tid på det.
Så medmindre en af jer poster et script der virker efter min hensigt, så benytter jeg busschou's første løsning, som jeg har nævnt ovenfor (uden mouseover). - Kan ikke se andre muligheder pt.
..ser lige hvad der sker, inden jeg giver point.
PS. Jeg er _IKKE_ programmør jo - jeg er bager ;-)
flot flash.. men der er ikke meget knap ;o).. tænkte på at se en side med din knap så det med mouseover måske kunne løses ;o) Jeg er i øvrigt ikke den største javascript haj..så det var blot fordi det måske gav mere indsigt :o)
Synes godt om
Slettet bruger
28. maj 2005 - 16:05#15
Der skulle da gerne være en lille "f" -knap oppe i venstre hjørne..??
ahh ok ser det nu.. nu er der jo så ingen mouseover effect i koden pt kan jeg se. Jeg kan ikke forstå det ikke virker hvis du sætter den ind
Synes godt om
Slettet bruger
28. maj 2005 - 16:12#17
Hvilken en af dem skal jeg sætte ind ?? Prøv lige at poste den, så smider jeg den ind med det samme. - Så skal du bare se at det ikke virker... (formentlig)
hmm det er lidt underligt synes jeg.. så skal det være fordi den ikke gider en onmousedown imens onmouseover...eller noget.. Jeg forstår desværre ikke hvorfor det ikke virker :o( Det er muligt når roenving "vågner op" at han har en løsning
Synes godt om
Slettet bruger
28. maj 2005 - 16:37#23
Okay. Så er det da i det mindste ikke kun mig, det er galt med hehe... (Har iøvrigt også prøvet med href="java script:void(0)" men det er ikke det...)
Jeg lader det hele være som nu, og så må vi se om roenving ligger vejen forbi senere.
Jo det er lettere besynderligt.. håber nogen kan forklare dig hvorfor.. du må evt gerne poste løsningen her hvis du finder en altså.. for jeg synes det er for wierd
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.