Split dropdownlijst in tweeen na elke 7 items
Dit is wat ik veel nabootsen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
<ul class="dropdown-menu dropdown-menu-large row" role="menu">
<li class="col-sm-6">
<ul>
<li><a href="life-insurance.html">Life Insurance</a></li>
<li><a href="life-insurance.html">Home Insurance</a></li>
<li><a href="life-insurance.html">Travel Insurance</a></li>
<li><a href="life-insurance.html">Pet Insurance</a></li>
</ul>
</li>
<li class="col-sm-6">
<ul>
<li><a href="life-insurance.html">Boat Insurance</a></li>
<li><a href="life-insurance.html">Auto Insurance</a></li>
<li><a href="life-insurance.html">Bike Insurance</a></li>
<li><a href="life-insurance.html">Business Insurance</a></li>
</ul>
</li>
</ul>
?>
<ul class="dropdown-menu dropdown-menu-large row" role="menu">
<li class="col-sm-6">
<ul>
<li><a href="life-insurance.html">Life Insurance</a></li>
<li><a href="life-insurance.html">Home Insurance</a></li>
<li><a href="life-insurance.html">Travel Insurance</a></li>
<li><a href="life-insurance.html">Pet Insurance</a></li>
</ul>
</li>
<li class="col-sm-6">
<ul>
<li><a href="life-insurance.html">Boat Insurance</a></li>
<li><a href="life-insurance.html">Auto Insurance</a></li>
<li><a href="life-insurance.html">Bike Insurance</a></li>
<li><a href="life-insurance.html">Business Insurance</a></li>
</ul>
</li>
</ul>
?>
Mijn code:
Code (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
33
34
35
36
37
38
39
40
41
42
43
44
45
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
<?
$tel = 1;
foreach ( $nmenuccr as $cmenu ) {
// If id matches and category id is 11 (services) split in half
if ( $cmenu['id'] && $cmenu['catid'] == '11' ){
if($tel == 1) {
$hmenu .= '<li class="col-sm-6"><ul>';
}
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$cmenu['title'].'</a></li>
';
if(($tel % 7) == 0){
$hmenu .= '</ul></li> <li class="col-sm-6"><ul>';
}
$tel++;
if(($tel % 7) != 0){
$menu .= '</li>';
}
//Else use the normal dropdown layout
}else{
if (strlen($cmenu['title']) > 25){
$shortstrmen = substr($cmenu['title'], 0, 25) . '...';
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$shortstrmen.'</a>
';
}else{
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$cmenu['title'].'</a>
';
}
}
}
?>
$tel = 1;
foreach ( $nmenuccr as $cmenu ) {
// If id matches and category id is 11 (services) split in half
if ( $cmenu['id'] && $cmenu['catid'] == '11' ){
if($tel == 1) {
$hmenu .= '<li class="col-sm-6"><ul>';
}
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$cmenu['title'].'</a></li>
';
if(($tel % 7) == 0){
$hmenu .= '</ul></li> <li class="col-sm-6"><ul>';
}
$tel++;
if(($tel % 7) != 0){
$menu .= '</li>';
}
//Else use the normal dropdown layout
}else{
if (strlen($cmenu['title']) > 25){
$shortstrmen = substr($cmenu['title'], 0, 25) . '...';
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$shortstrmen.'</a>
';
}else{
$hmenu.= '
<li><a href="'.$cmenu['alias'].'.html">'.$cmenu['title'].'</a>
';
}
}
}
?>
En dit krijg ik als resultaat met die code:
https://jsfiddle.net/sms16v44/
- je houdt nergens bij dat je een lijst geopend hebt? pas vanaf dat moment zou je moeten gaan tellen, en na afloop zou deze teller gereset moeten worden? het gaat toch om het aantal aaneengesloten items van een bepaald type (catid 11)?
- de condities voor het openen en het sluiten van de lijst zijn mogelijk niet handig gekozen of gewoon onjuist
Indien je de lijst nog niet begonnen was en je het eerste item tegenkomt, dan open jhet col-sm-6 list-item.
Indien je het achtste aaneengesloten (of vijftiende et cetera) item met catid 11 hebt bereikt weet je pas dat je een tweede (of derde et cetera) sublijst moet openen, dan is die noodzaak er ook pas.
Indien de lijst is afgelopen (de lijst was eerder gestart, en het item heeft een catid is ongelijk aan 11), dan pas sluit je het col-sm-6 list-item.
Thomas van den Heuvel op 12/04/2016 13:40:24:
Weet niet precies wat er misgaat, maar
- je houdt nergens bij dat je een lijst geopend hebt? pas vanaf dat moment zou je moeten gaan tellen, en na afloop zou deze teller gereset moeten worden? het gaat toch om het aantal aaneengesloten items van een bepaald type (catid 11)?
- de condities voor het openen en het sluiten van de lijst zijn mogelijk niet handig gekozen of gewoon onjuist
Indien je de lijst nog niet begonnen was en je het eerste item tegenkomt, dan open jhet col-sm-6 list-item.
Indien je het achtste aaneengesloten (of vijftiende et cetera) item met catid 11 hebt bereikt weet je pas dat je een tweede (of derde et cetera) sublijst moet openen, dan is die noodzaak er ook pas.
Indien de lijst is afgelopen (de lijst was eerder gestart, en het item heeft een catid is ongelijk aan 11), dan pas sluit je het col-sm-6 list-item.
- je houdt nergens bij dat je een lijst geopend hebt? pas vanaf dat moment zou je moeten gaan tellen, en na afloop zou deze teller gereset moeten worden? het gaat toch om het aantal aaneengesloten items van een bepaald type (catid 11)?
- de condities voor het openen en het sluiten van de lijst zijn mogelijk niet handig gekozen of gewoon onjuist
Indien je de lijst nog niet begonnen was en je het eerste item tegenkomt, dan open jhet col-sm-6 list-item.
Indien je het achtste aaneengesloten (of vijftiende et cetera) item met catid 11 hebt bereikt weet je pas dat je een tweede (of derde et cetera) sublijst moet openen, dan is die noodzaak er ook pas.
Indien de lijst is afgelopen (de lijst was eerder gestart, en het item heeft een catid is ongelijk aan 11), dan pas sluit je het col-sm-6 list-item.
Klopt ik wil alleen aan het begin de col md 6 toevoegen en die afsluiten na 7 items, en dan bij de 8e weer een li tag eromheen gooien met col md 6 die ook na 7 items weer afsluit en opnieuw begint (mochten er zoveel items zijn).
Wat doe ik nu dan fout? Als ik bijvoorbeeld de ul tag weghaal uit het script dan plaatst hij de li tag met col md 6 om de 7 items, maar hij sluit de tag gelijk af met niets er in. De tag staat dus niet om 7 items heen maar sluit gelijk elke 7 items.
Zoals hier: https://i.gyazo.com/90dae793d61e068a308a1c6ecb729457.png
Hoe ziet je code er nu uit?
Thomas van den Heuvel op 12/04/2016 14:22:35:
Hoe ziet je code er nu uit?
Welke code bedoel je?
Als ik de ul eruit haal?
De code die deze lijsten / dit menu genereert.