/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
vist tekst med onclick funktion
Fra : dj_uncas@aoa.dk


Dato : 30-10-04 22:07

Hej alle

Jeg er i gang med et nyhedssystem, og havde tænkt mig noget lignenden
følgende: En menu med links til de forskellige nyhedsartikler til venstre,
og en box til højre med artiklerne. Teksten i denne box skal dog først vises
når man klikker på et link.

Jeg har lavet noget, men når man klikker på et nyt link står teksten der
stadig, og det er meningen at den ene tekst skal "afløse" den anden.

<style type="text/css">
.hidden { position: relative; visibility: hidden; text-align:right; }
#contents { width:25%; float:left; border-right:1px solid #999999; }
#article { width: 50%: float:right; }
</style>

<script>
// quick browser tests
var ns4 = (document.layers) ? true : false;
var ie4 = (document.all && !document.getElementById) ? true : false;
var ie5 = (document.all && document.getElementById) ? true : false;
var ns6 = (!document.all && document.getElementById) ? true : false;

function show(sw,obj) {
// show/hide the divisions
if (sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'visible';
if (!sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'hidden';
if (sw && ns4) document.layers[obj].visibility = 'visible';
if (!sw && ns4) document.layers[obj].visibility = 'hidden';
}

</script>

<div id="contents">
<a href="#" onClick="show(true,'div1');">Nyhed 1</a><br /><br />
<a href="#" onClick="show(true,'div2');">Nyhed 2</a><br /><br />
<a href="#" onClick="show(true,'div3');">Nyhed 3</a><br /><br />
</div>



<div id="article">

<div id="div1" class="hidden">Dette er en nyhedsartikel</div>

<div id="div2" class="hidden">Dette er en anden nyhedsartikel</div>

<div id="div3" class="hidden">Dette er en tredje nyhedsartikel</div>

</div>

Håber der er nogen der kan hjælpe!



 
 
Erik Ginnerskov (30-10-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 30-10-04 23:19

dj_uncas@aoa.dk wrote:

> Jeg er i gang med et nyhedssystem, og havde tænkt mig noget lignenden
> følgende: En menu med links til de forskellige nyhedsartikler til
> venstre, og en box til højre med artiklerne. Teksten i denne box skal
> dog først vises når man klikker på et link.

Jeg har lavet noget, der ligner lidt (kører på onMouseOver - men kan ændres
til onClick):

http://hjemmesideskolen.dk/scripts/diastxt.asp

> <script>
> // quick browser tests
> var ns4 = (document.layers) ? true : false;
> var ie4 = (document.all && !document.getElementById) ? true : false;
> var ie5 = (document.all && document.getElementById) ? true : false;
> var ns6 = (!document.all && document.getElementById) ? true : false;
>
> function show(sw,obj) {
> // show/hide the divisions
> if (sw && (ie4 || ie5) ) document.all[obj].style.visibility =
> 'visible'; if (!sw && (ie4 || ie5) )
> document.all[obj].style.visibility = 'hidden'; if (sw && ns4)
> document.layers[obj].visibility = 'visible'; if (!sw && ns4)
> document.layers[obj].visibility = 'hidden'; }
>
> </script>

Jeg tror ikke, der er nogen grund til at bruge krudt på at tilpasse til NS4
og IE4. Sandsynligheden for at få besøg af en sådan browser på din side er
så forsvindende lille.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Knud Gert Ellentoft (31-10-2004)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 31-10-04 00:28

<dj_uncas@aoa.dk> skrev:

>Jeg har lavet noget, men når man klikker på et nyt link står teksten der
>stadig, og det er meningen at den ene tekst skal "afløse" den anden.

Kig i koden på
http://ellentoft.1go.dk/skjul2.htm

Du kan jo blot positionere den skjulte tekst et andet sted på
siden.
--
Knud
Topposter du svar, så ryger du på min ignoreringsliste.
Svar under det du citerer og citer kun det du svarer på - tak.
http://usenet.dk/netikette/citatteknik.html

dj_uncas@aoa.dk (31-10-2004)
Kommentar
Fra : dj_uncas@aoa.dk


Dato : 31-10-04 15:21


"Knud Gert Ellentoft" <ellentoft@mail.tele.invalid> skrev i en meddelelse
news:jq88o0ttv4bmpidukedvq1e7i21p7cqb6j@dtext.news.tele.dk...
> Kig i koden på
> http://ellentoft.1go.dk/skjul2.htm
>
> Du kan jo blot positionere den skjulte tekst et andet sted på
> siden.

Ok jeg har brugt din version, og det virker fint. Nu er mit problem hvordan
jeg skal kæde det sammen med min database. Jeg udvikler i asp med en MySQL
database. Er der nogle her der ved det, eller skal jeg spørge i asp gruppen?



Knud Gert Ellentoft (31-10-2004)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 31-10-04 18:05

<dj_uncas@aoa.dk> skrev:

>Ok jeg har brugt din version, og det virker fint. Nu er mit problem hvordan
>jeg skal kæde det sammen med min database. Jeg udvikler i asp med en MySQL
>database. Er der nogle her der ved det, eller skal jeg spørge i asp gruppen?

Jeg vil tro, at det vil være best at spørge i aspgruppen, men du
kan da prøve at vente og se om der er nogen der svarer her.

Jeg kan ikke hjælpe med det, desværre.
--
Knud
Topposter du svar, så ryger du på min ignoreringsliste.
Svar under det du citerer og citer kun det du svarer på - tak.
http://usenet.dk/netikette/citatteknik.html

Dj Uncas (19-11-2004)
Kommentar
Fra : Dj Uncas


Dato : 19-11-04 15:11

det virker som det skal, men jeg vil gerne have noget mere på nu! Er det
muligt at lave en tekst der vises når man kommer ind på siden, som så
afløses når man klikker på et af "linksne" der har onClick funktionen?



Dj Uncas (19-11-2004)
Kommentar
Fra : Dj Uncas


Dato : 19-11-04 20:23

>Er det muligt at lave en tekst der vises når man kommer ind på siden, som
>så afløses når man klikker på et af "linksne" der har onClick funktionen?

Der var jeg vist lidt hurtig, jeg har løst det med:
<body onload="article('0')>

Er der nogen der har en anden metode, for jeg har hørt at body onload skulle
være ustabil?



Kasper Johansen (31-10-2004)
Kommentar
Fra : Kasper Johansen


Dato : 31-10-04 11:48

<dj_uncas@aoa.dk> skrev i en meddelelse
news:4184027e$0$182$edfadb0f@dread11.news.tele.dk...
> Hej alle
>
> Jeg er i gang med et nyhedssystem, og havde tænkt mig noget lignenden
> følgende: En menu med links til de forskellige nyhedsartikler til venstre,
> og en box til højre med artiklerne. Teksten i denne box skal dog først
> vises når man klikker på et link.
>
> Jeg har lavet noget, men når man klikker på et nyt link står teksten der
> stadig, og det er meningen at den ene tekst skal "afløse" den anden.

Det her virker nok kun hvis du bruger et serverscript også ;)

Du kan evt. lave et iframe som du redirect (jeg tænker
"hentnyhed.php?nyhedid=50). I iframet lavet du så:

<div id="minhtml">
<img src="billede.jpg" align="left">
Dette er min nyhed. Det er vidst lidt sejt hva'?
</div>

<script language="JavaScript">
parent.document.getElementById("nyhedsfelt").innerHTML =
document.getElementById("minhtml").innerHTML;
</script>

Skal lige siges at jeg ikke har afprøvet scriptet (men har da lavet noget
lignende på mange af mine sider).

Så slipper du også for at indlæse alle nyheder hver gang du skal vise siden
og letter derfor serveren for lidt load.

Ideen virker som sagt kun hvis du bruger et serverscript ;)

Mvh
Kasper



Lasse Reichstein Nie~ (31-10-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 31-10-04 12:05

<dj_uncas@aoa.dk> writes:

> Jeg er i gang med et nyhedssystem, og havde tænkt mig noget lignenden
> følgende: En menu med links til de forskellige nyhedsartikler til venstre,
> og en box til højre med artiklerne. Teksten i denne box skal dog først vises
> når man klikker på et link.

> Jeg har lavet noget, men når man klikker på et nyt link står teksten der
> stadig, og det er meningen at den ene tekst skal "afløse" den anden.

Så problemet er at man kun viser, og ikke skjuler?

> <script>

Type-attributten er påkrævet i HTML 4, så brug
<script type="text/javascript">

> // quick browser tests
> var ns4 = (document.layers) ? true : false;
> var ie4 = (document.all && !document.getElementById) ? true : false;
> var ie5 = (document.all && document.getElementById) ? true : false;
> var ns6 = (!document.all && document.getElementById) ? true : false;

Bare du er klar over at der er andre browsere end de nævnte. Jeg foreslår
at du bare bruger dette:
---
/** finder et element ud fra dets unikke id */
function getElement(id) {
if (document.getElementById) {
return document.getElementById(id);
} else if (document.all) {
return document.all[id];
} else if (document.layers) {
return document.layers[id];
} else {
return null; // beklager, denne browser fatter ikke noget.
}
}

function getStyle(element) {
if (element.style) {
return element.style;
} else {
return element;
}
}

var prevVisible;
function show(visible, id) {
var element = getElement(id);
if (prevVisible) { // skjule den tidligere synlige
getStyle(prevVisible).visibility = "hidden";
}
if (element && visible) { // hvis nyt element fundet
getStyle(element).visibility = "visible";
prevVisible = element;
}
}
}

>
> function show(sw,obj) {
> // show/hide the divisions
> if (sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'visible';
> if (!sw && (ie4 || ie5) ) document.all[obj].style.visibility = 'hidden';
> if (sw && ns4) document.layers[obj].visibility = 'visible';
> if (!sw && ns4) document.layers[obj].visibility = 'hidden';

Her mangler du en case for "ns6" hvor du bruger getElemenetById.

> <div id="contents">
> <a href="#" onClick="show(true,'div1');">Nyhed 1</a><br /><br />

Jeg anbefaler at have noget andet end "#" i href'en. Hvis folk når til
din side uden Javascript slået til, så skal der stadig ske noget når
de klikker på linket.

En mulighed er at lade alle nyhedderne være synlige fra start, og at
bruge javascript til at gøre dem skulte når siden loader. Så kan du
have href="#div1", så det at klikke på linket i det mindste scroller
ned til den aktuelle nyhed.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste