Ik heb een array die er voor zorgt dat er random stukjes code achter een aantal regels html wordt gezet.
Met JQuery laat ik een aantal layers open en dicht gaan. (zoals een accordion in feite) De layers kunnen open door een simpel linkje: <a href="javascript:animatedcollapse.toggle(%27werk1%27)">TITEL1</a>
Maar nu gebruik ik liever de onclick functie, zodat ik op de hele layer kan klikken en alsnog een animatedcollapse krijg. Dit lukt ook, behalve als hij de onclick uit een array moet lezen:
Het probleem is dat de onclick value in de div niet werkt:
Ik heb verschillende manieren geprobeerd om die onclick functie in de array te stoppen. Door hem in een andere layer te stoppen, of bijvoorbeeld:
Een manier waarop het wel lukt is:
Op deze manier wordt mijn layer wel geopend door op TITEL1 te klikken, maar ik wil juist dat de hele layer active wordt dmv een onclick in de div.
Iemand die het wel ziet? Ik ben er al een hele tijd mee bezig maar kom er niet meer uit.
Met JQuery laat ik een aantal layers open en dicht gaan. (zoals een accordion in feite) De layers kunnen open door een simpel linkje: <a href="javascript:animatedcollapse.toggle(%27werk1%27)">TITEL1</a>
Maar nu gebruik ik liever de onclick functie, zodat ik op de hele layer kan klikken en alsnog een animatedcollapse krijg. Dit lukt ook, behalve als hij de onclick uit een array moet lezen:
PHP:
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
| <?php //RANDOM EEN DIV LAYER LATEN ZIEN function array_pick($hash, $num) { $count = count($hash); if ($num <= 0) return array(); if ($num >= $count) return $hash; $required = $count - $num; if ($required == 1) { $keys = array(array_rand($hash, $required)); } else $keys = array_rand($hash, $required); foreach ($keys as $k) unset($hash[$k]); return $hash; } srand((float) microtime() * 10000000); $input = array('TITEL</h3> <div class="vertical_accordion_content" onclick="javascript:animatedcollapse.toggle(%27werk1%27)"> <div id="werk1"> <jdoc:include type="modules" name="work1" style="xhtml" /> </div> </div>', //etc etc etc. hieronder volgen nog talloze divs ); $rand_keys = array_rand($input, 7); ?> <h3 class="vertical_accordion_toggle bg_1"><?php echo $input[$rand_keys[0]] . "\n"; ?> <h3 class="vertical_accordion_toggle bg_2"><?php echo $input[$rand_keys[1]] . "\n"; ?> <h3 class="vertical_accordion_toggle bg_3"><?php echo $input[$rand_keys[2]] . "\n"; ?> <h3 class="vertical_accordion_toggle bg_4"><?php echo $input[$rand_keys[3]] . "\n"; ?> <h3 class="vertical_accordion_toggle bg_5"><?php echo $input[$rand_keys[4]] . "\n"; ?> <h3 class="vertical_accordion_toggle bg_6"><?php echo $input[$rand_keys[5]] . "\n"; ?> <h3 class="vertical_accordion_toggle bg_7"><?php echo $input[$rand_keys[6]] . "\n"; ?> |
Het probleem is dat de onclick value in de div niet werkt:
code:
Dit zou in theorie mijn div layer met ID="werk1" moeten openen via het extern animatedcollapse.js script. Dit doet hij dan ook op andere plaatsen in de website, behalve als ik de onclick in de php array plaats.1
| onclick="javascript:animatedcollapse.toggle(%27werk1%27)" |
Ik heb verschillende manieren geprobeerd om die onclick functie in de array te stoppen. Door hem in een andere layer te stoppen, of bijvoorbeeld:
code:
1
| <h3 class="vertical_accordion_toggle bg_1" onclick="javascript:animatedcollapse.toggle(%27werk1%27)" ><?php echo $input[$rand_keys[0]] . "\n"; ?> |
Een manier waarop het wel lukt is:
code:
1
2
3
4
| '<a href="javascript:animatedcollapse.toggle(%27werk1%27)">TITEL1</a></h3> <div class="vertical_accordion_content" id=werk1> <jdoc:include type="modules" name="work1" style="xhtml" /> </div>', |
Op deze manier wordt mijn layer wel geopend door op TITEL1 te klikken, maar ik wil juist dat de hele layer active wordt dmv een onclick in de div.
Iemand die het wel ziet? Ik ben er al een hele tijd mee bezig maar kom er niet meer uit.
nikszolekkeralss.exe