Ik ben nu bezig JS te begrijpen en dit lukt al aardig. Nu heb ik het voor elkaar gekregen iets werkend te krijgen in IE, maar helaas werkt het nog helemaal niet in FF. Het gaat om de volgende site, met volledige broncode al daar.
Daarin de volgende 3 functies:
1: Controleerd of alle benodigde selecties zijn gedaan, geeft een melding indien niet het geval en laadt dan niks:
2: Dienen ervoor om direct een volgend of vorige document te selecteren en te laden. (zie website in IE voor voorbeeld)
3: Deze laatste functie dient om een tijdvertraging in te bouwen, om te voorkomen dat als je 5 documenten verder wilt, niet direct alle 5 de documenten na elkaar gaat laden (niet handig voor in mijn logboek). Nu is het nog zo dat je in die halve seconde vertraging helemaal niks meer kunt doen, maar ik wil dus eigenlijk dat je next kan klikke zo vaak als je wilt, en als je n halve seconde niet meer klikt, dat ie dan pas gaat laden. Maar dit is me nog niet gelukt, heb ook setTimeout() geprobeerd.
In het form worden ze alsvolgt aangeroepen:
en
Dus wat moet ik doen om, met name de 1e 2 functies, te late werken in FF zoals ze het ook doen in IE en hoe krijg ik die tijdvertraging zoals ik dat toe zou willen passen?
Daarin de volgende 3 functies:
1: Controleerd of alle benodigde selecties zijn gedaan, geeft een melding indien niet het geval en laadt dan niks:
JavaScript:
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
| function checkData() { var correct = true if (document.calculus.chapter.value == "HS" && document.calculus.paragraph.value == "PG" && document.calculus.number.value == "OG") {correct = false; alert("Please select chapter, paragraph and exercise")} else if (document.calculus.paragraph.value == "PG" && document.calculus.number.value == "OG") {correct = false; alert("Please select paragraph and exercise")} else if (document.calculus.chapter.value == "HS" && document.calculus.paragraph.value == "PG") {correct = false; alert("Please select chapter and paragraph")} else if (document.calculus.chapter.value == "HS" && document.calculus.number.value == "OG") {correct = false; alert("Please select chapter and exercise")} else if (document.calculus.number.value == "OG") {correct = false; alert("Please select exercise")} else if (document.calculus.chapter.value == "HS") {correct = false; alert("Please select chapter")} else if (document.calculus.paragraph.value == "PG") {correct = false; alert("Please select paragraph")} else if (document.calculus.edition.value == "4" && document.calculus.number.value++ > 13) {correct = false; alert("When searching answers for the Fourth edition, the exercise number cannot be bigger than 12, please read explenation on the page for more information")} return correct} |
2: Dienen ervoor om direct een volgend of vorige document te selecteren en te laden. (zie website in IE voor voorbeeld)
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
| function nextpdf(){ var number = document.calculus.number.selectedIndex; document.calculus.number.value = Math.min(Math.max(eval(1 + document.calculus.number.selectedIndex),1),80); pausecomp(500) //setTimeout(,);} function previouspdf(){ var number = document.calculus.number.selectedIndex; document.calculus.number.value = Math.min(Math.max(eval(document.calculus.number.selectedIndex - 1),1),80); pausecomp(500) //setTimeout(,);} |
3: Deze laatste functie dient om een tijdvertraging in te bouwen, om te voorkomen dat als je 5 documenten verder wilt, niet direct alle 5 de documenten na elkaar gaat laden (niet handig voor in mijn logboek). Nu is het nog zo dat je in die halve seconde vertraging helemaal niks meer kunt doen, maar ik wil dus eigenlijk dat je next kan klikke zo vaak als je wilt, en als je n halve seconde niet meer klikt, dat ie dan pas gaat laden. Maar dit is me nog niet gelukt, heb ook setTimeout() geprobeerd.
JavaScript:
1
2
3
4
5
6
7
8
| function pausecomp(millis) { date = new Date(); var curDate = null; do { var curDate = new Date(); } while(curDate-date < millis); } |
In het form worden ze alsvolgt aangeroepen:
HTML:
1
| <form onSubmit="return checkData()" name="calculus" action="selecter2.php" target=main method="POST"> |
en
HTML:
1
2
3
| <input type="submit" value="Previous" onClick="javascript:previouspdf()"> <input type="submit" name="send form" value="Answer"> <input type="submit" value="Next" onClick="javascript:nextpdf()"> |
Dus wat moet ik doen om, met name de 1e 2 functies, te late werken in FF zoals ze het ook doen in IE en hoe krijg ik die tijdvertraging zoals ik dat toe zou willen passen?