Avatar billede artery_graphics Nybegynder
26. oktober 2002 - 12:31 Der er 19 kommentarer og
1 løsning

Bladre frem/tilbage script

Er der nogen der kan hjælpe mig med at modificerer dette script, således at når den første og sidste side vises, så vises kun den ene pil i den retning der kan bladres og ikke i begge retninger. Altså for side1.htm vises kun pilen mod højre, i stedet for begge pile. For sidste side (side12.htm) vises kun pilen mod venstre (tilbage). For de øvrige sider skal det selvfølgelig, være muligt som nu, at kunne bladre både frem og tilbage.

Er det muligt. Eller skal der bruges 2 helt seperate scripts?



<script language="JavaScript">
function fw() {
if(current < max) {
  parent.show.location.href = "content/side" + next + ".htm"; parent.tekst.location.href = "content/tekst" + next + ".htm";
  current++;
  prev++;
  next++;
}
}
function bw() {
if (current > 1) {
  parent.show.location.href = "content/side" + prev + ".htm"; parent.tekst.location.href = "content/tekst" + prev + ".htm";

  current--;
  prev--;
  next--;
}
}

var max = 12; // nummeret på sidste side
var current = 1; // hvis side1.htm er default
var prev = current-1;
var next = current+1;
</script><script language="JavaScript">
<!--
if (document.images) {

  img1_on = new Image();
  img1_on.src = "arrowright2.gif";
  img1_off = new Image();
  img1_off.src = "arrowright.gif";
 
  img2_on = new Image();
  img2_on.src = "arrowleft2.gif";
  img2_off = new Image();
  img2_off.src = "arrowleft.gif";
}

var  iNavn = "";

function ms( imagename, action ) {
  if ( !document.images || iNavn == imagename ) return;
  if ( 'fix' == action ) {
      if ( iNavn != "" ) {
          temp = iNavn;
          iNavn = "";
          ms( temp, 'off' );
      }
      iNavn = imagename;
  } else
      document.images[imagename].src = window[ imagename +'_' +action ].src;
  }

// -->
</script>
</head>

<body scroll="no" bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<script>
document.write("<img src='adjust.gif' width='75' height='23' border='0'> ");
document.write("<a href='java script:bw();' onfocus='this.blur( )' onMouseOver='ms(\"img2\", \"on\")' onMouseOut='ms(\"img2\", \"off\")' onclick=' ms(\"img2\", \"off\");'><img name='img2' src='arrowleft.gif' border='0' width='14' height='12'></a>");
document.write("<img src='adjust.gif' width='1' height='1' border='0'> ");
document.write("<a href='java script:fw();' onfocus='this.blur( )' onMouseOver='ms(\"img1\", \"on\")' onMouseOut='ms(\"img1\", \"off\")' onclick=' ms(\"img1\", \"off\");'><img name='img1' src='arrowright.gif' border='0' width='14' height='12'></a>");
</script>
</body>
</html
Avatar billede Slettet bruger
27. oktober 2002 - 11:55 #1
<script>
document.write("<img src='adjust.gif' width='75' height='23' border='0'> ");
if (current > 1)
document.write("<a href='java script:bw();' onfocus='this.blur( )' onMouseOver='ms(\"img2\", \"on\")' onMouseOut='ms(\"img2\", \"off\")' onclick=' ms(\"img2\", \"off\");'><img name='img2' src='arrowleft.gif' border='0' width='14' height='12'></a>");
document.write("<img src='adjust.gif' width='1' height='1' border='0'> ");
if (current < 12)
document.write("<a href='java script:fw();' onfocus='this.blur( )' onMouseOver='ms(\"img1\", \"on\")' onMouseOut='ms(\"img1\", \"off\")' onclick=' ms(\"img1\", \"off\");'><img name='img1' src='arrowright.gif' border='0' width='14' height='12'></a>");
</script>
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 12:04 #2
Hmm.. kan godt se din idé, men det virker altså ikke.
Der er kun pil frem (mod højre) og slet ingen pil til
at bladre tilbage med, eller ikke når den 12. og sidste
side er vist.
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 12:08 #3
Faktisk skal alle sider mellem 2 og 11 have pile både frem og tilbage.
Det er kun for side1 der skal vises pil fremad (alene) og for side12, at der skal vises pil tilbage (alene)
Avatar billede Slettet bruger
27. oktober 2002 - 12:08 #4
Jeg havde også misforstået dit script!
Sådan her:

tr = new Image();
tr.src = "transparent.gif";

function fw() {
if(current < max) {
  parent.show.location.href = "content/side" + next + ".htm"; parent.tekst.location.href = "content/tekst" + next + ".htm";
  current++;
  prev++;
  next++;
  if (current == 12)
  document.images["img1"].src = "transparent.gif";
}
}
function bw() {
if (current > 1) {
  parent.show.location.href = "content/side" + prev + ".htm"; parent.tekst.location.href = "content/tekst" + prev + ".htm";

  current--;
  prev--;
  next--;
  if (current == 1)
  document.images["img2"].src = "transparent.gif";
}
}

... og al document.write-halløjet skal bare se ud, som du skrev til at starte med.
Så skal du også lige huske at lave et gennemsigtigt billede på 1x1 pixel og kalde det for "transparent.gif". Læg det i samme mappe som scriptet.
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 12:22 #5
Hmm.. Jeg har lavet en tranparent.gif.
Men får en script fejl i linie 14, denne:
if(current < max) {

Samlet ser det sådan her ud:

<script language="JavaScript">
tr = new Image();
tr.src = "transparent.gif";

function fw() {
if(current < max) {
  parent.show.location.href = "content/side" + next + ".htm"; parent.tekst.location.href = "content/tekst" + next + ".htm";
  current++;
  prev++;
  next++;
  if (current == 12)
  document.images["img1"].src = "transparent.gif";
}
}
function bw() {
if (current > 1) {
  parent.show.location.href = "content/side" + prev + ".htm"; parent.tekst.location.href = "content/tekst" + prev + ".htm";

  current--;
  prev--;
  next--;
  if (current == 1)
  document.images["img2"].src = "transparent.gif";
}
}
</script>

<script language="JavaScript">
<!--
if (document.images) {

  img1_on = new Image();
  img1_on.src = "arrowright2.gif";
  img1_off = new Image();
  img1_off.src = "arrowright.gif";
 
  img2_on = new Image();
  img2_on.src = "arrowleft2.gif";
  img2_off = new Image();
  img2_off.src = "arrowleft.gif";
}

var  iNavn = "";

function ms( imagename, action ) {
  if ( !document.images || iNavn == imagename ) return;
  if ( 'fix' == action ) {
      if ( iNavn != "" ) {
          temp = iNavn;
          iNavn = "";
          ms( temp, 'off' );
      }
      iNavn = imagename;
  } else
      document.images[imagename].src = window[ imagename +'_' +action ].src;
  }

// -->
</script>
</head>

<body scroll="no" bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<script>
document.write("<img src='adjust.gif' width='75' height='23' border='0'> ");
document.write("<a href='java script:bw();' onfocus='this.blur( )' onMouseOver='ms(\"img2\", \"on\")' onMouseOut='ms(\"img2\", \"off\")' onclick=' ms(\"img2\", \"fix\");'><img name='img2' src='arrowleft.gif' border='0' width='14' height='12'></a>");
document.write("<img src='adjust.gif' width='1' height='1' border='0'> ");
document.write("<a href='java script:fw();' onfocus='this.blur( )' onMouseOver='ms(\"img1\", \"on\")' onMouseOut='ms(\"img1\", \"off\")' onclick=' ms(\"img1\", \"fix\");'><img name='img1' src='arrowright.gif' border='0' width='14' height='12'></a>");
</script>

</body>
</html>
Avatar billede Slettet bruger
27. oktober 2002 - 12:26 #6
En "tranparent" eller "transparent"? (du skrev det uden s)
Smid et link, forresten.
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 12:34 #7
Transparent.gif (det er stavet rigtigt)

Scriptet bruges på denne side www.theselfimages.dk/referencer
Jeg bruger samme script i andre sammenhænge og det er derfor vigtigt
at max antal stadig kan varieres alt efter i hvilken forbindelse
scriptet skal bruges. (altså hvis jeg senere ønsker at bruge det hvor kun 4 sider skal bladres imellem)

Som du ser på linket, kan man jo fra side1 bladre baglæns og det giver jo ingen mening, ej heller at der på sidste side er en pil der indikerer at man fortsat kan bladre fremad.
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 12:36 #8
Hov nu er dit første forlag jo sat ind på siden.. ændre det lige til det oprindelige.
Avatar billede Slettet bruger
27. oktober 2002 - 12:42 #9
Nej, jeg vil gerne have min version ind, tak! :)

Så jeg kan se, hvad der er galt.
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 12:46 #10
Sorry.. sådan din version med det original document.write halløj.
Avatar billede Slettet bruger
27. oktober 2002 - 12:51 #11
Sådan skal siden se ud:

<html>

<head>
<title>The Self Images</title>
<meta NAME="Title" CONTENT="The Self Images">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">

<script language="JavaScript">
var max = 12; // nummeret på sidste side
var current = 1; // hvis side1.htm er default
var prev = current-1;
var next = current+1;

function fw() {
if(current < max) {
  parent.show.location.href = "content/side" + next + ".htm";
  parent.tekst.location.href = "content/tekst" + next + ".htm";
  current++;
  prev++;
  next++;
  if (current == max)
    document.images["img1"].src = tr.src;
  else if (document.images["img1"].src == tr.src)
    document.images["img1"].src = img1_off.src;
}
}
function bw() {
if (current > 1) {
  parent.show.location.href = "content/side" + prev + ".htm"; parent.tekst.location.href = "content/tekst" + prev + ".htm";

  current--;
  prev--;
  next--;
  if (current == 1)
    document.images["img2"].src = tr.src;
  else if (document.images["img2"].src == tr.src)
    document.images["img2"].src = img2_off.src;
}
}
</script>

<script language="JavaScript">
<!--
if (document.images) {
  tr = new Image();
  tr.src = "transparent.gif";
  img1_on = new Image();
  img1_on.src = "arrowright2.gif";
  img1_off = new Image();
  img1_off.src = "arrowright.gif";
 
  img2_on = new Image();
  img2_on.src = "arrowleft2.gif";
  img2_off = new Image();
  img2_off.src = "arrowleft.gif";
}

var  iNavn = "";

function ms( imagename, action ) {
  if ( !document.images || iNavn == imagename ) return;
  if ( 'fix' == action ) {
      if ( iNavn != "" ) {
          temp = iNavn;
          iNavn = "";
          ms( temp, 'off' );
      }
      iNavn = imagename;
  } else
      document.images[imagename].src = window[ imagename +'_' +action ].src;
  }

// -->
</script>
</head>

<body scroll="no" bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<script>
document.write("<img src='adjust.gif' width='75' height='23' border='0'> ");
document.write("<a href='java script:bw();' onfocus='this.blur( )' onMouseOver='ms(\"img2\", \"on\")' onMouseOut='ms(\"img2\", \"off\")' onclick=' ms(\"img2\", \"fix\");'><img name='img2' src='arrowleft.gif' border='0' width='14' height='12'></a>");
document.write("<img src='adjust.gif' width='1' height='1' border='0'> ");
document.write("<a href='java script:fw();' onfocus='this.blur( )' onMouseOver='ms(\"img1\", \"on\")' onMouseOut='ms(\"img1\", \"off\")' onclick=' ms(\"img1\", \"fix\");'><img name='img1' src='arrowright.gif' border='0' width='14' height='12'></a>");
</script>

</body>
</html>
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 12:59 #12
Super.. det virker næsten.
Bortset fra at lige når man kommer ind på siden og side1 vises, ses her stadig 2 pile. Men klikker man frem til side2 og igen tilbage til side1 er pilen tilbage forsvundet.
Kan den ikke sættes som default til IKKE at vise pilen tilbage på side 1 fra starten?
Avatar billede Slettet bruger
27. oktober 2002 - 13:00 #13
Jo:

<script>
document.write("<img src='adjust.gif' width='75' height='23' border='0'> ");
document.write("<a href='java script:bw();' onfocus='this.blur( )' onMouseOver='ms(\"img2\", \"on\")' onMouseOut='ms(\"img2\", \"off\")' onclick=' ms(\"img2\", \"fix\");'><img name='img2' src='transparent.gif' border='0' width='14' height='12'></a>");
document.write("<img src='adjust.gif' width='1' height='1' border='0'> ");
document.write("<a href='java script:fw();' onfocus='this.blur( )' onMouseOver='ms(\"img1\", \"on\")' onMouseOut='ms(\"img1\", \"off\")' onclick=' ms(\"img1\", \"fix\");'><img name='img1' src='arrowright.gif' border='0' width='14' height='12'></a>");
</script>
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 13:09 #14
Hmm.. hehe! ja.. den forsvandt fra side1 okay.
Men jeg kørte musen over stedet og mouseover fik pilen til at
blive synlig igen..

Se selv: www.theselfimages.dk/referencer
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 13:55 #15
Mht. til dette 27/10-2002 13:00:30, så vil tilbage pilen jo også være
transparent for side2 hvis ikke musen har berørt det område hvor tilbagepilen ligger, og dermed gjort den synlig.
Din scripteffekt må kunne påsættes tilbagepilen fra start, uden af der har været skiftet frem og tilbage mellem side1 og side2?
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 14:48 #16
Måske er det egentlig fint nok som det er.
Tak for hjælpen..

Mvh. Lars
Avatar billede Slettet bruger
27. oktober 2002 - 16:50 #17
Jeg ville ellers godt kunne lave det, hvis det skulle være.
Avatar billede artery_graphics Nybegynder
27. oktober 2002 - 20:04 #18
Måske ville det være lækkert at få det helt færdigt, alligevel.
Jeg vil kunne bruge scriptet til kommende webprojekter.

Skal jeg mon oprette et spørgsmål.
Avatar billede Slettet bruger
28. oktober 2002 - 17:05 #19
Det kan du godt. Så er der andre end mig, der får chancen!
Hvis det alligevel er mig, der svarer, kan du jo selv beholde pointene!
Avatar billede artery_graphics Nybegynder
28. oktober 2002 - 17:19 #20
Phoenixv => spørgsmålet er oprettet her: http://www.eksperten.dk/spm/276318
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