[JS] Popup, browsen, image + beschrijving (hoe?)

Pagina: 1
Acties:
  • 349 views sinds 30-01-2008
  • Reageer

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op dit moment heb ik dit JS-je voor popup- images op mijn site:

Functie definitie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function LatenZien(imagename, bijschrift)
// voor pop-up window met image
{
    var image= "<IMG src=' DIRECTORY" +
 imagename + "'>"
    var inhoud =     
    "<TITLE>" + imagename +"</TITLE>" +

    "<BODY BGCOLOR='#FFFFCC' TEXT='#000000' LINK='#0000FF'
 VLINK='#FF0000' ALINK='#7F007F'>
<FONT FACE='Arial'   COLOR='#000000' size=2>" +
    "<CENTER>"+
    image +
    "</CENTER><BR>" +
    bijschrift +
    "<BR><CENTER><FORM><INPUT TYPE='BUTTON'
VALUE='Sluiten' onClick='self.close()'></FORM></CENTER></BODY>"

 
  Schermpje = window.open("","popDialog","height=540,width=740,scrollbars=yes")
  Schermpje.document.write(inhoud)
  Schermpje.document.close()
}

Aanroep:
code:
1
2
3
4
<A href="javascript:LatenZien(' FILENAAM PLAATJE',
' BESCHRIJVING PLAATJE, KOMT ERONDER TE STAAN ')
"ONMOUSEOVER="window.status='Klik op de foto...'; return true" 
ONMOUSEOUT="window.status=''; return true" >

Voor een voorbeeld van hoe het werkt: zie mijn site (bijv. http://www.sassiessite.f2s.com/sneeuw_pics.htm ).

Nu wil ik eigelijk dat je kunt browsen in het popup schermpje, dus een knop 'vorige' en een knop 'volgende'.
Daarbij moeten het plaatje en de beschrijving veranderen. Deze moeten dus eigeschappen van een object worden (de plaatjes staan allemaal in dezelfde directory). Ik had al wat geprobeerd, maar dat liep op niks uit en kon niet ontdekken wat de fout was.

Wat ik dus eigenlijk wil is een soort van crossbrowser slideshow om het even in andere bewoordingen te zeggen.

Heeft iemand hier een idee of tips over om mij op weg te helpen?
Kun je met frames in een popup scherm werken (ik heb een klein ideetje)?

PS: Ik hoef niet voorgekauwd te worden, niet te ingewikkelde gevallen wil ik graag zelf maken (zien bovenstaand script).

edit:

Layout was te zwaar verneukt :(


[edit2]
FF nog iets verduidelijkt
[/edit2]

Verwijderd

Gewoon een frameset erin bouwen, in een kleine frame kan je dan thumbnails maken met links naar de plaatjes of de html files voor de plaatjes die dan in het bovenste frame komt. Als je perse vorige en volgende wilt kan je gewoon allemaal aparte html pagina's maken. :) Das simpel iig! En je bent er zo mee klaar <copy + peest :7

Verwijderd

ziet er leuk uit... netjes gedaan trouwens :)

Verwijderd

Ik ga slapen.
Als niemand je helpt doe ik het morgen wel ff.

Verwijderd

Kun je niet alles in een array pleuren en bij de Ie foto het Ie verhaaltje eruit halen !?
Gewoon in 1 pagina en dan de verhaaltjes in div's..

Voor de volgende roep je dan aan volgende = i+1 of i-1 enz.

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

idd, als je naar het volgende plaatje wil moet je iig weten WAT het volgende plaatje is en WAT de beschrijving is..

oftewel ja moet alle bestandsnamen en beschrijvingen bij elkaar hebben..
code:
1
2
3
4
5
6
7
8
9
10
11
pseudo ;)

array namen
array beschrijving
int i

on volgende {
  i++
  foto = namen[i]
  beschrijving = beschrijving[i]
}

terug is dan natuurlijk i-- :)
Image kun je aanpassen met document,image.src en de tekst kan je in een div zetten en wijzigen met innerHTML..

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op dinsdag 26 juni 2001 22:23 schreef die_hard_elfje het volgende:
Gewoon een frameset erin bouwen, in een kleine frame kan je dan thumbnails maken met links naar de plaatjes of de html files voor de plaatjes die dan in het bovenste frame komt. Als je perse vorige en volgende wilt kan je gewoon allemaal aparte html pagina's maken. :) Das simpel iig! En je bent er zo mee klaar <copy + peest :7
Aparte html pagina's: hmm dat wou ik nou juist niet.

Maar ik zal eens kijken wat ik met een array kan doen..

Verwijderd

leuke site, su6!!!
\
probeer dit anders, <a href="#" onclick="window.open('popup.htm','','toolbar=no,width=200,height=200,directories=no,status=no,scrollbars=no,resizable=no,menubar=no,location=no')">Linkje</a>

Verwijderd

Op woensdag 27 juni 2001 12:48 schreef Timpie2000 het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
pseudo ;)

array namen
array beschrijving
int i

on volgende {
  i++
  foto = namen[i]
  beschrijving = beschrijving[i]
}
Geen php-er of andere scripter..
Java mannetje ?? Of delphi ??

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 15-09 11:30
misschien een idee om een standaard html filetje te maken wat wordt geladen in je popup, in dat bestand staat een class definitie voor foto (met bijbehorende attributen) waarmee je voor alle foto's incl. beschrijving een instantie van deze klasse maakt. De pagina krijgt een nummer/id binnen en aan de hand daarvan wordt de goede tekst/foto geselecteerd uit bijvoorbeeld een array met deze instanties van foto

een ``volgende'' button/link kan je dan laten verwijzen naar document.html?foto_id=14 ofzo .. en met wat gejavascript is 't mogelijk om dan nummer 14 uit een arraytje met instanties van dit object te selecteren.

dit is wel erg handig, en geeft denk ik heel wat mogelijkheden .. (variabele-overkop-script -> blabla.html?var1=bla&var2=bral -> met dit script in blabla.html zijn var1 en var2 beschikbaar in javascript in blabla.html)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function replaceSpace( inTxt ) 
{
    var spaceIndex = 0;
    var outTxt = "";
    for( var c = 0; c < inTxt. length; c++ )
    outTxt += inTxt. charAt( c ) == " " ? "+" : inTxt. charAt( c );
    return outTxt;
}

function get_args( _args ) 
{
    a = new Array();
    aa = new Array();
    s = "";

    for( c = 1; c < document.location.search.length; c++ )
        if( document.location.search.charAt( c ) == "+")
            s += " ";
        else
            s += document.location.search.charAt( c );

            a = s.split( "&" )

        for( c = 0; c < a.length; c++ ) 
        {
            aa = a[ c ].split( "=" );
            _args[ aa[ 0 ] ] = aa[ 1 ];
        }
}

args = new Array();
get_args( args );

Het is allemaal lastig uit te leggen zo, maar ik kan je wel een script sturen met wat van deze klasse / instantie rotzooi als 't niet lukt.
Op developer.netscape.com in de javascript sectie is vrij duidelijk uitgelegd hoe klasses werken iig !

succes !

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
In middels heb ik wat ik elkaar weten te knutselen, er wat foutjes uit gehaald door testen. Maar toch loop ik vast: op de arrays: ze zijn 'undefined'.
Ik weet niet of ik ze zo juist geinstantieerd en aangeroepen heb, dus ik wil graag wat feedback:

De functiedefinitie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<script language="JavaScript">
function gegevens()
{
image = new Array(1)
image[0]= "saskia1.JPG"     

beschrijving = new Array(1)
beschrijving[0] = "Foto van mij"
                    
}

function ShowImage(idnummer)
// voor het laten zien van image
{
var plaatje = "<CENTER><IMG src='"
+ image[idnummer]
+ "'><BR><BR>"
var bijschrift = beschrijving[idnummer]
+ "</CENTER></BODY>"
}

function popup(idnummer)
//voor het popup window
{
PopUp = window.open("","popDialog","height=540,width=740
,scrollbars=yes")
PopUp.document.write("<body><TITLE>SassiesSite - Popup</TITLE>
<BODY BGCOLOR='#FFFFCC' TEXT='#000000' LINK='#0000FF' VLINK='#FF0000' ALINK='#7F007F'>
<FONT FACE='Arial' COLOR='#000000' size=2>
<CENTER><FORM><INPUT TYPE='BUTTON' VALUE='Vorige' onClick='ShowImage(idnummer--)'>
<INPUT TYPE='BUTTON' VALUE='Volgende'    onClick='ShowImage(idnummer++)'>
<INPUT TYPE='BUTTON' VALUE='Sluiten'     onClick='self.close()'></FORM></CENTER><hr>
")
                
inhoud = ShowImage(idnummer)
PopUp.document.write(inhoud)
PopUp.document.close()
}
</script>
</head>

De aanroep:
code:
1
2
3
4
5
6
7
<script type="text/javascript">
gegevens()
</script>
<A href="javascript:popup(0)" "ONMOUSEOVER="window.status='Klik op de foto....'; return true"
ONMOUSEOUT="window.status=''; return true" >
[img]"saskia2.JPG"></A><BR[/img]
saskia2.JPG

Kan iemand me hierbij verder helpen?
Wat zit er nog fout en hoe verbeter je dat?

Verwijderd

Wat is de foutmelding en op welke regel !?

  • Norjee
  • Registratie: April 2000
  • Niet online
dit werkt ook, niet netjes (het controleerd niet of het einde berijkt is, en de beschrijvingen worden uit de alt bij de images genomen) maar ok..

http://www.creep.f2s.com/sneeuw.html

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op zondag 08 juli 2001 15:26 schreef Tizzwat het volgende:
Wat is de foutmelding en op welke regel !?
Er zat geen foutmelding meer in, alleen de boel was undefined.

Heb het bestand zelf niet bij me. :(

Maar de fout zit volgens mij in het aaroepen van de array.

Verwijderd

var plaatje = "<CENTER><IMG src='"
+ image[idnummer]
+ "'><BR><BR>";
var bijschrift = beschrijving[idnummer]
+ "</CENTER></BODY>";

Dit zijn trouwens variabelen in een functie, ik weet niet of dat wel hoort.
Verder moet ik je code nog ff uitpluizen..

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op dinsdag 10 juli 2001 15:26 schreef Tizzwat het volgende:
var plaatje = "<CENTER><IMG src='"
+ image[idnummer]
+ "'><BR><BR>";
var bijschrift = beschrijving[idnummer]
+ "</CENTER></BODY>";

Dit zijn trouwens variabelen in een functie, ik weet niet of dat wel hoort.
Verder moet ik je code nog ff uitpluizen..
Daar zou idd een/de fout in kunnen zitten (in de image[idnummer] en beschrijving[idnummer].

Maar goed, zal de file van Norjee eens bekijken, of ik daardoor op een werkend idee uit kan komen.

Verwijderd

Dat undefined komt waarschijnlijk door de plek waar je de gegevens van de Array hebt staan.
Als alles in de popup moet wijzigen, dan kun je het beste de Array oproepen vanuit 'foto[x]=parent.opener.foto[x] of iets dergelijks Op je basis-pagina moet je dan de Array zetten. In jouw geval zou ik de popup (zowel het frame als de inhoud) opbouwen met een document.write. De variabelen neem je dan op in een teller of via functie laten verwijzen naar een andere document.write. Let wel op dat je de popup zelf niet telkens oproept, anders wordt iedere keer een nieuwe popup opgeroepen bij wijziging van de inhoud.

voorbeeld van popup met frames:
code:
1
2
3
4
5
6
7
function popup()
{
plws=window.open('','playlist','top='+(audiodiv.style.posTop-100)+',left='+(audiodiv.style.posLeft-200)+',width=476,height=215,status=0,scrollbars=0');
plws.document.write('<html><head><Script Language="JavaScript" src="amp.js"></Script></HEAD><frameset rows="36,*,24" frameborder="yes" border="yes"><frame name="plwf" src="#" marginwidth="0" marginheight="0" frameborder="0" border="0" framespacing="0"><frame name="plwv" src="#" marginwidth="0" marginheight="0" frameborder="0" border="0" framespacing="0" scrolling="yes"><frame name="plwe" src="#" marginwidth="0" marginheight="0" frameborder="0" border="0" framespacing="0"></frameset></html>');
}

plws.frames[0].document.write('<html><head><title>Playlist</title><script language="JavaScript" src="ampbasise.js"></script></head><body bgcolor="#000000" text="#CCCCCC" style="border:none"><table style="position:absolute;top:0;left:0" width="476" border="0" cellspacing="1" cellpadding="2" color="#000000"><tr align="center" bgcolor="#bFbFbF"><td bgcolor="#002870" width="65">&nbsp</td><td><font size=2 color="#00008D" face="Arial"><b>songtitle2</b></font></td><td width="38"><font size=2 color="#00008D" face="Arial"><b>Play<br>Song</b></font></td><td width="11">&nbsp</td></tr></table></body></html>')

Zo kun je de andere frames ook vullen met gegevens.
En sorry voor de buitennissige afmetingen van deze reactie !

  • freddifish
  • Registratie: November 2000
  • Laatst online: 29-01 09:15

freddifish

schnappi !

herken ik daar de hoevesteinflat? :)

'people say I'm a drinker, but I'm sober half the time' - Mick Jagger | mail: freddifish_AT_gmx.net


  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op dinsdag 10 juli 2001 23:20 schreef freddifish het volgende:
herken ik daar de hoevesteinflat? :)
Nog een wageninger? :)

Maar goed om ff on-topic te blijven:

Ik heb gisteren nog weer wat geknutseld:
popup doet het nu (iig in NS4), het bladeren nog niet.
Ik heb het ook getest met een 'test'knop, maar die werkte ook niet :(.

Dus wat zit er nu dan nog niet goed?

Ik zal de file ff uploaden:
http://www.sassiessite.f2s.com/test.htm

(zonder plaatjes idd)

Verwijderd

Zet nou eens overal ; achter !!
a= a+1 moet a = a+1; worden.

Ik zal es ff met je code knoeien, sorry dat ik niet meer gereplyed had..

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op donderdag 12 juli 2001 15:26 schreef Tizzwat het volgende:
Zet nou eens overal ; achter !!
a= a+1 moet a = a+1; worden.

Ik zal es ff met je code knoeien, sorry dat ik niet meer gereplyed had..
Weet je, dat ik dat niet doe omdat het me veels te verwarrend is wanneer het nu wel zo moet en wanneer niet.
Ook stond het niet zo in het boek dat ik een beetje als tutorial gebruik, voor de rest is het wel een goed(koop :P) boek hoor.

Ik heb ook nog niet meegemaakt dat het iets uithaald bij de werking.

* Sassie is lui, ze weet het :P

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Nou, ik kom na een tijdje proberen en verbouwen nog steeds niet verder.

Ik heb het script nu iets verbouwd (een andere aanpak genomen), het werkt, maar als je op de knoppen vorige en volgende druk gebeurt er niks :(. :?

Owja, ook gebeurde het vaak dat de plaatjes in de popup heel klein waren (kleinder dan dat ze origineel waren en kleiner dan 60 bij 60 pixels :()

Wie kan me verder helpen?


Hier het scriptje + aanroep:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<SCRIPT language="JavaScript">
function gegevens()
        {
            plaatjes = new Array(3);
            
            for (count=0; count<3; count++)
            {
                plaatjes[count] = new Image();
            }
            plaatjes[0].src = "images/mannetje.JPG";
            plaatjes[1].src = "images/strange.JPG";
            plaatjes[2].src = "images/DBZ/stupidguy.JPG";

            plaatjes[0].height = 333;
            plaatjes[1].height = 310;
            plaatjes[2].height = 164;

            plaatjes[0].width = 180;
            plaatjes[1].width = 360;
            plaatjes[2].width = 219;
        }

function popup(a)
    //voor het popup window
        {
            Schermpje = window.open("","","height=480,width=640,scrollbars=yes")
            Schermpje.document.write("<TITLE>SassiesSite - Popup</TITLE>
<BODY BGCOLOR='#FFFFCC' TEXT='#000000' LINK='#0000FF' VLINK='#FF0000' ALINK='#7F007F'>
<FONT FACE='Arial' COLOR='#000000' size=2><CENTER>
<FORM><INPUT TYPE='BUTTON' VALUE='Vorige' onClick='previous(e)'>
<INPUT TYPE='BUTTON' VALUE='Volgende'  onClick='next(e)'>
<INPUT TYPE='BUTTON' VALUE='Sluiten' onClick='self.close()'>
</FORM></CENTER><HR>
<CENTER>
[img]''></center[/img]")
            Schermpje.document.pic.src = plaatjes[a].src
            Schermpje.document.pic.height = plaatjes[a].height
            Schermpje.document.pic.width = plaatjes[a].width
            Schermpje.document.close()          
        }

function previous(c)
    // terug bladeren
{   var teller = c
    if( teller = 0)
    {
        teller = plaatjes.length
        teller = teller--
    }   
    else
    {
        teller = teller--
    }
    return teller
    Schermpje.document.pic.src = plaatjes[teller].src
}   

function next(d)
// verder bladeren
{   var teller = d
    if( teller < plaatjes.length)
    {
        teller = teller++
    }   
    else
    {
        teller = 0
    }
    return teller
    Schermpje.document.pic.src = plaatjes[teller].src
}   
</SCRIPT>
</HEAD>
<BODY bgcolor="#FFFFCC" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
<FONT FACE="Arial" COLOR="#000000" size=2>
<SCRIPT type="text/javascript">
gegevens()
</SCRIPT>
<TABLE>
<TR>
<TD><A href="javascript:popup(0)"
 "ONMOUSEOVER="window.status='Klik op de foto....'; return true"
 ONMOUSEOUT="window.status=''; return true" >
[img]"images/th_mannetje.JPG"></A>
<BR>mannetje.JPG</TD[/img]

* Sassie heeft haar best gedaan om de breedte van deze post binnen de perken te houden...
Irri zulke lange zinnen zonder 'word wrap' :(.

Verwijderd

Waar staat die e voor in 'previous(e)' en 'next(e)' ? k kan 't nergens terugvindeh ..

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op zaterdag 21 juli 2001 22:46 schreef Groentje het volgende:
Waar staat die e voor in 'previous(e)' en 'next(e)' ? k kan 't nergens terugvindeh ..
Eh, die e is gewoon een variabele in je aanroep (die wordt later aan 'teller' toegekend).
Mij is ooit eens geleerd dat je inde definietie en in de aanroep verschillende namen aan de variabelen moest geven zodat je de boel beter uit elkaar kunt houden.

Verwijderd

Ooh jah, ik heb die opl. nog :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<html>
<head>
</head>
<script language="JavaScript">

function Fotopage(foto,text) {
    this.defoto=foto;
    this.detext=text;
}

var fotos = new Array();
var positie = 0;

function init() {
    fotos[0] = new Fotopage("logokl.gif","Het is heel leuk hier");
    fotos[1] = new Fotopage("logokl.gif","Het werkt");
    fotos[2] = new Fotopage("logokl.gif","En het gaat door");
    fotos[3] = new Fotopage("logokl.gif","Kleiduiven schieten");
    fotos[4] = new Fotopage("logokl.gif","Waterbed");
    fotos[5] = new Fotopage("logokl.gif","augurk");
    fotos[6] = new Fotopage("logokl.gif","het is hier fantastisch");
    fotos[7] = new Fotopage("logokl.gif","doe mij iets met wodka, maar dan zoet");
}

function doe(welke) {
    // tellertje bijhouden
    positie = welke;

    depage=window.open("","Fotos","height=540,width=740,scrollbars=yes");
    depage.document.write("<TITLE>Popup</TITLE><center>[img]'linksaf.gif'[/img][img]'"+fotos[welke].defoto+"'><img[/img]</center><br><center>"+fotos[welke].detext+"<br></center>");
    depage.document.close();

    // vertel nieuwe window wie de parent is
    // vanuit nieuwe window kan je dan functies 
    // in dit document aanroepen dmv pappie.functieNaam
    depage.pappie = self; // <-- dat
}

function linksaf() {
    // tellertje gebruiken
    positie --;
    if(positie < 0) positie = fotos.length-1;
    doe(positie)    
}

function rechtsaf() {
    // tellertje gebruiken
    positie ++;
    if(positie == fotos.length) positie = 0;
    doe(positie)
}

</script>

<body onLoad="init()">
    
[img]"logokl.gif"[/img]<br>
[img]"logokl.gif"[/img]<br>
[img]"logokl.gif"[/img]<br>


</html>

Ff editten e.d. maar zo werkt het iig..
Hier kun je ook ff kijken;
http://webreference.com/dhtml/column4/index.html

/me dankt Clay voor z'n hulp nog...

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Owkay, ik zal er binnenkort een wat mee proberen.
Alvast bedankt voor de hulp en wie weet zie je het resultaat binnenkort...

Nou dit is het dan:

<html>
<head>
</head>
<script language="JavaScript">

// Dit script is grotendeels gemaakt door Tizzwat (GoT)
// Kijk hier: [topic=170870]
// Ik (Sassie) heb het script alleen wat aangepast aan mijn eigen situatie en een klein foutje eruit gehaald.

function Fotopage(foto,text)
{
this.defoto=foto;
this.detext=text;
}

var fotos = new Array(3);
var positie = 0;

function init()
{
fotos[0] = new Fotopage("images/mannetje.JPG","Dit is een popup scherm waarin je kunt bladeren");
fotos[1] = new Fotopage("images/strange.JPG","Het werkt");
fotos[2] = new Fotopage("images/DBZ/stupidguy.JPG","Maar nog niet helemaal als bedoeld");
}


function doe(welke)
{
// tellertje bijhouden
positie = welke;

depage=window.open("","Fotos","height=480,width=640,scrollbars=yes");
depage.document.write("<TITLE>SassiesSite - Popup</TITLE><BODY BGCOLOR='#FFFFCC' TEXT='#000000' LINK='#0000FF' VLINK='#FF0000' ALINK='#7F007F'><FONT FACE='Arial' COLOR='#000000' size=2><CENTER><FORM><INPUT TYPE='BUTTON' VALUE='Vorige' onClick='pappie.linksaf()'><INPUT TYPE='BUTTON' VALUE='Volgende' onClick='pappie.rechtsaf()'><INPUT TYPE='BUTTON' VALUE='Sluiten' onClick='self.close()'></FORM></CENTER><HR><br><center>[img]'"+[/img]<br></center>"+ fotos[welke].detext+ "</center>");

// vertel nieuwe window wie de parent is
// vanuit nieuwe window kan je dan functies
// in dit document aanroepen dmv pappie.functieNaam
// <-- dit:
depage.pappie = self;
}

function linksaf()
{
//ouwe window sluiten
depage.self.close()

// tellertje gebruiken
positie --;
if(positie < 0)
{
positie = fotos.length-1;
}
doe(positie)
}

function rechtsaf()
{
//ouwe window sluiten
depage.self.close()

// tellertje gebruiken
positie ++;
if(positie == fotos.length)
{
positie = 0;
}
doe(positie)
}

</script>

<body onLoad="init()">

<TABLE>
<TR>
<TD><A href="javascript:doe(0)" ONMOUSEOVER="window.status='Klik voor groter plaatje'; return true" ONMOUSEOUT="window.status=''; return true" >[img]"images/th_mannetje.JPG"></a><BR>mannetje.JPG</TD> <TD><A[/img][img]"images/th_strange.JPG"></a><BR>strange.JPG</TD> <TD><A[/img][img]"images/Dbz/thumbnails/th_stupidguy.JPG"></a><BR>stupidguy.JPG</TD> </TR> </TABLE> </body> </html[/img]

Het enige probleem is (iig bij NS 4) dat ik telkens de popupwindows opnieuw moet openen en sluiten omdat ik anders een hele lange brei krijg (probeer het zelf maar eens als je die 2 regetjes weg haalt).
Maar voor de rest werkt het naar mijn tevredenheid.

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Hmm, ik kwam vandaag dit tegen:
http://home.wanadoo.nl/dragonballz-ms/Flippo's/index.htm

Dit ziet er aardig slick uit en is handig navigeerbaar :). Het is gemaakt met Arles Image Web Page Creator (http://www.digitaldutch.com/arles/index.htm). Het ziet eruit of het handige features heeft, ik ga het denk ik van het weekend even downloaden en uit proberen.
Het enige nadeel is dat het geen freeware is, het is een evaluatieversie voor 30 dagen (registreren kost $49 :().

Het programma ziet er mijns inziens zeer goed uit, het maakt alleen HTML pagina's om de indexen en de plaatjes apart te showen (wat ik eig. zelf niet wou, maar als dat 'automatisch' gaat... :P).

Zou dit een goede/handige oplossing zijn voor mijn probleem of moet ik gewoon bovenstaand scriptje iets beter uitwerken en gaan gebruiken?

Verwijderd

Grotendeels doot Tizzwat :) hehe

Maar die andere wat je zegt is idd met gewoon allemaal nieuwe pages.. Kan dan helemaal zonder JS eigenlijk.

Je kunt mijn oplossing (denk ik) beter gebruiken omdat ik een foto-object gecreerd heb. Je zou er bv. ook nog de datum, grootte, waar genomen e.d. aan kunnen toevoegen en weer opvragen..
Veel veelzijdiger dus *D

Als je ergens niet uitkomt wil ik je daarmee best wel ff helpen hoor :)

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Mwa, ik heb hier (http://webreference.com/dhtml/column4/dispRecs.html) al gekeken, maar ik krijg nog niet helemaal door hoe ze werken met die update functie ;(:

[script]
function upDate() {
if (document.images) { document.images["imPic"].src="Cynic00" + curRecord + ".jpg" };
if (!ver4) { return };
for (i=1; i<=maxFields; i++) {
if (NS4) {
whichEl = eval("document.elField" + i + ".document");
with (whichEl) {
open();
write("<B>" + arRecord[curRecord][i] + "</B>");
close();
}
}
else {
whichEl = eval("document.all.elField" + i);
whichEl.innerHTML = "<B>" + arRecord[curRecord][i] + "</B>";
}
}
}
[/script]

En wat houdt dit in en wat doet het hier in de functie/script?
code:
1
2
3
NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
ver4 = (NS4 || IE4) ? 1 : 0;

De gehele code staat hier:
http://webreference.com/dhtml/column4/allCode.html

Verwijderd

Voor leuke JS gallery's... kijk je toch gewoon ff op mijn site?!

http://212.204.142.56

• kijk ff onder gallery's :)

enuh comments zijn altijd welkom xtentic@hotmail.com (site is nog steeds (al jaren) onder heavy contruction :D)

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Nah, dat is niet helemaal mijn bedoeling zoals op jouw site.

Verwijderd

ok... np tis maar om der uit te leren... mja :)

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Ik weet niet of je het al gezien hebt, maar ik had al wat werkends in elkaar geknutseld voordat ik topic begon. :)
Volgens mij lijkt dat een beetje qua idee op jouw systeem.

Maar ik wou het op een andere manier aanpakken en daarom heb ik dit topic gepost.

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
* Sassie schopt haar topic maar weer omhoog...
Ik kom er namelijk nog niet uit. ;(

Ik heb oa hier gekeken voor preloaden en dergelijke en ook nog verder gezocht op de diverse DHTML-pagina's:
http://webreference.com/dhtml/column4/index.html

http://www.dynamicdrive.com/dynamicindex14/index.html
http://www.dansteinman.com/dynduo/en/images.html

http://www.ruleweb.com/dhtml/Image_Gallery/index.htm

En dan vind je weer een geschikt scriptje is het ie only ;(
http://www.dynamicdrive.com/dynamicindex14/interslide.htm

Maareh kan iemand me nog iets verder werken en hoe kun je zoiets het beste in een pop-up verwerken?

(ik zoek dus een crossbrowser slideshow scriptje)

Verwijderd

Als je de code bij
http://www.ruleweb.com/dhtml/Image_Gallery/index.htm

Nou in de pop-up zet ??

Verwijderd

Op maandag 13 augustus 2001 17:37 schreef Tizzwat het volgende:
Als je de code bij
http://www.ruleweb.com/dhtml/Image_Gallery/index.htm

Nou in de pop-up zet ??
het moest x browser Tizzwat... dit werkt dus niet in Mozilla/NS 6.1

Verwijderd

Is die van mij niet crossbrowser ?? ;)

Verwijderd

Op maandag 13 augustus 2001 17:57 schreef Tizzwat het volgende:
Is die van mij niet crossbrowser ?? ;)
nee :) enniewees volgens mij heeft fotosoep een hele mooie optie hiervoor.

Verwijderd

Op maandag 13 augustus 2001 18:22 schreef Shadow3333 het volgende:

[..]

nee :) enniewees volgens mij heeft fotosoep een hele mooie optie hiervoor.
Zal ik de mijne dan maar crossbrowser maken ??
/me staat in dubio omdat hij geen zin heeft om steeds in 2 browsers te gaan kijken..

Verwijderd

Op maandag 13 augustus 2001 19:54 schreef Tizzwat het volgende:

Zal ik de mijne dan maar crossbrowser maken ??
/me staat in dubio omdat hij geen zin heeft om steeds in 2 browsers te gaan kijken..
misschein valt het ook wel op te lossen zonder javascript (behalve de popup dan) zoals ik al zei photoshop heeft idd de optie om een "webalbum" te maken vanuit de origenel plaatjes, dit houdt in dat PS thumbs maakt, de originelen ook wat kleiner maakt (is allemaal in te stellen) en html pagina's genereerd bij de verschillende plaatjes, dit neemt je dus een hoop werk uit handen.

Tizzwat; als je scripts kan maken voor IE kan je het zeker voor Mozilla en NS 4.x IE en Mozilla ontlopen elkaar niet zoveel, denk aand GetElementByID ;)

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Op maandag 13 augustus 2001 17:37 schreef Tizzwat het volgende:
Als je de code bij
http://www.ruleweb.com/dhtml/Image_Gallery/index.htm

Nou in de pop-up zet ??
Hmm het werkt mat layers... bij 3 plaatjes is het nog wel te doen, maar wordt het niet vervelend bij een stuk of 20 plaatjes :? :P?

Over cross-browser: ik wil dat het iig ook in mijn eigen browser werkt (NS4(.08)), zodat ik daar de boel kan checken voordat ik het meeneem en upload. Ik weet niet hoe het met NS6 moet, ik heb gehoord dat dat een beetje een problemenkindje is...
Maar goed als het in de andere browsers ook werkt zou wel zo sociaal zijn, maar het hoeft niet perse (het gaat me iig wel om NS4 en IE).

Maar goed het irritant is dat als er ergens een fout in zit ik niet precies weet wat de fout is :(. Ik zou eigenlijk een JavaScript compiler/editor moeten hebben :P.

PS: Ik heb liever geen html-webalbum (alleen als allerlaatste oplossing), ik hou mijn site (qua aantal bestanden) lieft zo compact mogelijk.

Verwijderd

Nou, die code die ik gemaakt heb zou je ff kunnen aanpassen zodat Netscape het ook snapt.
Ik vind de mijne eigenlijk (hihi) nog steeds het beste omdat ik echt met objecten werk en heel o.o. te werk ben gegaan.. Zie je bv. ook in de taal Java terug.

Ik heb Netscape hier niet op de pc staan, maar weet jij misschien wat Netscape niet snapt !? Dan kan ik er wel ff alternatieve code voor bedenken.

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
Zoals jij de code hebt gemaakt dan plakt ie de boel er onderaan ipv het te vervangen.

Daarvoor heb ik in die andere scripts gekeken, maar dat lukt ook steeds niet.
Mijn NS heeft volgens mij gewoon problemen met het document.images gedoe.

Ik post hier 2 andere bronnen onder, waarmee ik heb lopen kloten (er zitten nog wel fouten in, maar kan ze er niet uithalen ;()

bron 1 (aangepaste image swap van dynamicduo):
<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title>(Type a title for your page here)</title>
<meta name="GENERATOR" content="Arachnophilia 4.0">
<meta name="FORMATTER" content="Arachnophilia 4.0">

<script language="JavaScript">

function preload(imgObj,imgSrc)
{
if (document.images)
{
eval(imgObj+' = new Image()')
eval(imgObj+'.src = "'+imgSrc+'"')
}
}

function init()
{
preload('imageA','images/DBZ/thumbnails/th_stupidguy.JPG')
preload('imageB','images/DBZ/thumbnails/th_gohan_piest.JPG')
}

function changeImage(layer,imgName,imgObj)
{
if (document.images)
{
if (document.layers && layer!=null)
{
eval('document.'+layer+'.document.images["'+imgName+'"].src = '+imgObj+'.src')
}
else
{
document.images[imgName].src = eval(imgObj+".src")
}
}
}
</script>
</head>

<body bgcolor="#ffff80" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000" onLoad="init()">

<DIV ID="imgDiv">
[img]"images/DBZ/thumbnails/th_stupidguy.JPG">[/img]
<a href="javascript:changeImage('imgDiv','MyImg','imageB')">next</a>
<a href="javascript:changeImage('imgDiv','MyImg','imageA')">previous</a>
</body>
</html>

Op een gegeven moment werkte de preload wel, maar hal in changeImage() aan riep dan was het Javascript error :(

bron2 ('animatie', zelf uit een html-boek overgetikt):
<!doctype html public "-//w3c//dtd html 3.2//en">

<html>

<head>
<title>(Type a title for your page here)</title>
<meta name="GENERATOR" content="Arachnophilia 4.0">
<meta name="FORMATTER" content="Arachnophilia 4.0">

<script language="JavaScript">
vertraging=5;
index=0;
plaatjes_tabel= new Array(4);
for (teller=0; teller<4; teller++);
{
plaatjes_tabel[teller] = new Image();
}

plaatjes_tabel[0].src= "images/Icons/icon_agenda1.JPG";
plaatjes_tabel[1].src= "images/Icons/icon_agenda2.JPG";
plaatjes_tabel[2].src= "images/Icons/icon_agenda3.JPG";
plaatjes_tabel[3].src= "images/Icons/icon_agenda4.JPG";

fuction icons()
{
//document.iconanimatie.src = plaatjes_tabel[index].src;
document.images['iconanimatie'].src = plaatjes_tabel[index].src;
index++;
if (index >3)
{
index=0;
}
}

function trager()
{
vertraging++;
if (vertraging >10)
{
vertraging=10;
}
document.iconform.regel.value=vertraging;
}

function sneller()
{
vertraging--;
if (vertraging < 0)
{
vertraging=0;
}
document.iconform.regel.value=vertraging;
}
</script>

</head>

<body bgcolor="#ffff80" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
<b>Icon animatie</b><br>
[img]"images/Icons/icon_agenda1.JPG"><br> <p> <form[/img]Animatie Snelheid <INPUT type="text" name="regel" value=5 size=4><br>
<input type="button" value="Trager" onClick="trager()"><input type="button" value="Sneller" onClick="sneller()"><br>
<br>
<input type="button" value="Begin Animatie" onClick="icons()"><br>
</form>
</p>
</body>

</html>
Idem, alles deed het totdat ik de animatie wilde starten (daar zit ergens de fout in).

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
* Sassie schopt het maar weer omhoog want ze is er nog niet uit... ;(

Dit is voorlopig de laatste keer dat ik me er aan wijd, ik ga het even stilleggen tot aan december ofzo.

Goed hier de situatie:
* ik moet in NS4 (Navigator) de layers (het wisselen van de plaatjes) werkend zien te krijgen
* verder moet in die layer ook een bijschrift (object-based) komen welke met het plaatje wisselt
* het script moet werken in een popup (allles staat dan in de document.write('blablabla'))

Dat is het grootste probleem, de functies voor het wisselen kan ik denk ik zelf wel voor elkaar krijgen.


Hier 4 files om wat mee te brainstormen:

1 Het scriptje van Tizzwat
2 Meerdere plaatjes in een layer verwisselen
3 Meerdere layers met plaatje verwisselen
4 Slideshow met layers met knoppen en selectielijstje (zoiets moet het ongeveer worden)

Verder wil ik wel een zo begrijpelijk en eenvoudig mogelijk script.

Ik dacht zelf aan zoiets als in 2, met dan als objectnaam een nummer, welke je kan varieren

  • Sassie
  • Registratie: November 1999
  • Laatst online: 21:04
* Sassie post nog een keer ff hier om te vertellen dat het haar is gelukt! *D

Met de hulp van Tizzwat en een scriptje gevonden op het web.

Check hier de file uit:
http://www.sassiessite.f2s.com/temp/popup_slideshow.html

Zo hebben anderen er ook nog wat aan (zolang ze maar niet lame gaan jatten :))
Als je nog suggsties hebt, die zijn welkom.
* Sassie heeft nu iig wat ik aan het begin van dit topic wilde :)
Pagina: 1