Avatar billede stift Nybegynder
04. august 2002 - 17:55 Der er 13 kommentarer og
1 løsning

XX af XX - til eksisterende script.

Jeg kender ikke særligt meget til de forskellige sprog men låner i stedet koder, scripts, etc. rundt omkring til http://www.spar2.com som jeg er "webmaster" på.

Jeg har brug for hjælp til et script, jeg har fundet på http://javascript.internet.com.
Jeg har rettet det lidt til, så bl.a. navigeringen foregår ved knapper fremfor tekst og det kan ses på: http://www.spar2.com/fotoarkiv/2002/0802bramming/0802bramming.htm

Det er den nederste billede-fremvisning, jeg vil be' om hjælp til:

Kan man få "Billede XX af YY" (hvor XX er billedenummer og YY er total-antallet) ind i det eksisterende script på en eller anden måde?

Der må ikke være <Body onload" "> i koden, for det deaktiverer det andet script (Popup info box III).
Og det må ikke gå ud over "Afspil - Stop" funktionen.

Hjælp tak :-)
Avatar billede =maddog= Nybegynder
04. august 2002 - 18:41 #1
i stedet for aktivere dine scripts i <body> tagget bør du gøre det internt i javascriptet. det er både pænere og mere overskueligt. desuden kan du let aktivere flere scripts (hvad du faktisk også kan i body-tagget)
<script type="text/javascript">
..
onload=function() {
startscript1();
startscript2();
}

mht det aktuelle problem. jeg kigger lige.
Avatar billede =maddog= Nybegynder
04. august 2002 - 19:00 #2
i dit script ændrer du chgImg til:

function chgImg(direction) {
if (document.images) {
ImgNum = ImgNum + direction;
if (ImgNum > ImgLength) {
ImgNum = 0;
}
if (ImgNum < 0) {
ImgNum = ImgLength;
}
document.slideshow.src = NewImg[ImgNum];
  }
obj = (document.all)?document.all['des']:(document.getElementById)?document.getElementById('des'):new Object();
obj.innerHTML = "Billede "+(ImgNum+1)+" af "+(ImgLength+1)+".";
}

og længere nede i filen ændrer du
<br>9 billeder i alt.</font></p>
til
<script>
document.write("<br><div id=\"des\">Billede "+(ImgNum+1)+" af "+(ImgLength+1)+".</div></font></p>");
</script>

håber det er ok.
Avatar billede stift Nybegynder
04. august 2002 - 20:10 #3
Yes! ... Det var lige det, jeg mente. =maddog= RESPEKT ;-)

Ang. <..... onload=funtion .....> hvordan defineres startscript1() og 2 ... og flere scripts så i de enkelte scripts efterfølgende?

Skal - startscriptXX(); - ikke fremgå i scriptene. Altså så de får hver deres respektive nummer?
Avatar billede stift Nybegynder
04. august 2002 - 20:11 #4
=maddog= ... Jeg opretter gerne det sidste spørgsmål som nyt, hvis du vil ha' point for det.

For det fortjener du. Det er lige præcis den hjælp, jeg manglede.
Avatar billede =maddog= Nybegynder
04. august 2002 - 20:20 #5
lad være med det. istedet for
<body onload="init();">

skriver du
onload=function() {
init();
}

init(), startscript() og så videre repræsenterer blot de javascript funktioner du vil kalde når siden er loadet.
Avatar billede stift Nybegynder
04. august 2002 - 20:47 #6
Herligt :-)  Tak for det.

Et sidste spørgsmål - hvis det er ok. Til slideshow scriptet.
Kan man deaktivere knapperne ved "Play" ?
Jeg har set det på: http://www.geocities.com/Paris/Jardin/8415/Scripts/Slideshow.htm


function Play()
{
g_fPlayMode = !g_fPlayMode;
if (g_fPlayMode)
{
btnPrev.disabled = btnNext.disabled = true;
Next();
}
else
{
btnPrev.disabled = btnNext.disabled = false;

}
}
function OnImgLoad()
{
if (g_fPlayMode)
window.setTimeout("Tick()", g_dwTimeOutSec*1000);
}
function slidenow(){
var ccbvfv = confirm(String.fromCharCode(83,99,114,105,112,116,32,99,114,101,97,116,101,100,32,98,121,58,32,67,104,114,105,115,116,105,97,110,32,67,97,114,108,101,115,115,105,46,32,69,45,109,97,105,108,58,32,99,111,99,111,108,105,110,107,115,64,99,46,110,101,116,46,103,116))
if (ccbvfv)
window.location="http://www.geocities.com/Paris/Jardin/8415/Scripts/Slideshow.htm"
else
window.location="http://www.geocities.com/Paris/Jardin/8415/Scripts/Slideshow.htm"

}
function Tick()
{
if (g_fPlayMode)
Next();
}
function Prev()
{
ChangeImage(false);
}
function Next()
{
ChangeImage(true);
}
function main()
{

Update();
}

Jeg skal ha' ændret:

btnPrev.disabled = btnNext.disabled = true;        til
chgImg(-1).disabled = chgImg(1).disabled = true;

og

btnPrev.disabled = btnNext.disabled = false;        til
chgImg(-1).disabled = chgImg(1).disabled = false;

Hvad mere?

Det skulle deaktivere "forrige" og "næste" knapperne under afspilning.
Kan det lade sig gøre i "mit" script?

Vil du hjælpe?
Avatar billede =maddog= Nybegynder
04. august 2002 - 20:55 #7
det kan du godt, men jeg orker ikke sidde og lave det. jeg kan godt lige fortælle hvorledes så du har en chance for at regne det ud selv (det er også bedre for sjælen :-)
du sætter
var active = false;
øverst i scriptet. når denne boolean er falsk er slideshowet inaktivt og knapperne virker
under knapperne sætter du
onclick="if (!active){ chgImg(-1); }"
under slideshow sætter du
onclick="active=!active; RESTEN AF HVAD DER STOD!"
Det burde virke.
Avatar billede stift Nybegynder
04. august 2002 - 21:20 #8
Du har også været en kæmpe hjælp. Jeg kender desværre bare ikke til det med at skrive koder. Nogen gang kan jeg godt regne dem ud - andre gange ikke.
Jeg tror, jeg har løst den - men jeg får at vide, at strengkonstanten er uafsluttet, når jeg indsætter
onclick="active=!active;
under slideshowet.

<SCRIPT LANGUAGE="JavaScript">
<!-- Original:  Mike Canonigo (mike@canonigo.com) Web Site:  http://www.munkeehead.com -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Edit and update on 04-08-2002 with help from =maddog= -->
.....
var active = false;
function Play()
{
g_fPlayMode = !g_fPlayMode;
if (g_fPlayMode)
{
chgImg(-1).disabled = chgImg(1).disabled = true;
Next();
}
else
{
chgImg(-1).disabled = chgImg(1).disabled = false;

}
}
function OnImgLoad()
{
if (g_fPlayMode)
window.setTimeout("Tick()", g_dwTimeOutSec*1000);
}
function slidenow(){
onclick="if (!active){ chgImg(-1); }"
//var ccbvfv = confirm(String.fromCharCode(83,99,114,105,112,116,32,99,114,101,97,116,101,100,32,98,121,58,32,67,104,114,105,115,116,105,97,110,32,67,97,114,108,101,115,115,105,46,32,69,45,109,97,105,108,58,32,99,111,99,111,108,105,110,107,115,64,99,46,110,101,116,46,103,116))
//if (ccbvfv)
//window.location="http://www.geocities.com/Paris/Jardin/8415/Scripts/Slideshow.htm"
//else
//window.location="http://www.geocities.com/Paris/Jardin/8415/Scripts/Slideshow.htm"

}
function Tick()
{
if (g_fPlayMode)
Next();
}
function Prev()
{
ChangeImage(false);
}
function Next()
{
ChangeImage(true);
}
function main()
{

Update();
}

<body>
....
<script>
<!-- Added with help from =maddog= -->
onclick="active=!active;
document.write("<br><div id=\"des\">Billede "+(ImgNum+1)+" af "+(ImgLength+1)+".</div></font></p>");
</script>

Bare svar hvis du får tid. Det behøver ikke være nu og her - og altså kun hvis du har lyst til det :-)

Ellers mange tak for hjælpen
fra en meget u-rutineret wanna-be-webmaster ;o)
Avatar billede =maddog= Nybegynder
04. august 2002 - 21:42 #9
ALLE onclick skal stå i HTML delen og ikke i JavaScript delen. prøv at se efter, de står der sikkert i forvejen og skal bare modificeres.
Avatar billede stift Nybegynder
04. august 2002 - 22:06 #10
Tak for det.

Jeg har lært lidt af hvert i dag - kunne dog ikke få det sidste til at virke. Jeg skal vist ha' sat mig ned og brugt mere tid på at gøre det rigtigt - fremfor gætterierne. Men det er nu meget sjovt at lære på den måde også.

Tak =maddog=
Avatar billede =maddog= Nybegynder
04. august 2002 - 22:24 #11
fint nok. bare sørg for gratis billetter til SPAR2 næste gang jeg er i Bramming :D
Avatar billede stift Nybegynder
05. august 2002 - 09:21 #12
=maddog= ... Det må vi sgu lige finde ud af.

Det er vel det mindste jeg kan gøre efter din hjælp.
Var du der i fredags?

Mvh. Stift
Avatar billede =maddog= Nybegynder
05. august 2002 - 11:32 #13
beklageligvis ikke. jeg er sjældent over bæltet i disse dage. men jeg vil give det seriøs overvejelse. ser ud til at den blev trykket af på den fede måde.
Avatar billede stift Nybegynder
07. august 2002 - 00:44 #14
Hej igen. Eksperten har vist været nede.

Kender du til Spar2? Eller...

Du skal i hvert fald være velkommen. Giv lige besked inden du evt. dukker op. Jeg skylder vist lige fri adgang til en koncert eller to :D
Adresse: stift@spar2.com

Og ja, det kogte helt vildt i Bramming - endda vist lidt mere end det plejer.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester