Accordion Menu

Een board om T&T's te plaatsen m.b.t. CMSMS, PHP of Smarty

Moderator: velden

Post Reply
pasmaskas
Power Poster
Power Poster
Posts: 509
Joined: Tue Nov 29, 2011 10:42 am

Accordion Menu

Post by pasmaskas »

Ik wou even iets geven aan jullie ;D

Hier een accordion menu die ik heb omgebouwt voor CMSMS. Het is een simple menutje dus verwacht geen spannende effecten.

CSS Voor het Accordion Menu:

Code: Select all

.accordion-menu li { width:165px; }
.accordion-menu a {
	display:block;
	width:153px;
	padding:6px;
	background: black;
	margin:0px 0px 8px 0px;
	text-decoration:none;
	color:#FFF;
	font-weight:bold;
}

.accordion-menu p {
	display:block;
	width:153px;
	padding:6px;
	background: black;
	margin:0px 0px 8px 0px;
	text-decoration:none;
	color:#FFF;
	font-weight:bold;
}

.accordion-menu li:hover {
	background: green;
}

.accordion-menu p:hover {
	background: green;
	cursor: pointer; cursor: hand
}

.accordion-menu ul a {
	width:153px;
	background:#FFF;
	border-bottom:1px solid #00F;
	color:#000;
	margin: -8px 0px 8px 0px;
}
.accordion-menu ul a:hover {
	color:#000;
	background: #CCC;
}
.accordion-menu, .accordion-menu ul { padding:0; margin:0; }
.accordion-menu li { list-style:none; }
.accordion-menu li ul { display:none; }
Voor in de meta

Code: Select all

<__script__ src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></__script>

Java script voor onder in de pagina voor de <__body> tag sluit

Code: Select all

{literal}
<__script__ type="text/javascript">

if((navigator.userAgent.match(/iPad/i))) {
$(document).ready(function () {    
    $('.accordion-menu li').hover(
        function () {
            $('ul', this).stop(true, true).delay(200).slideDown(200);
        },
        function () {
            $('ul', this).stop(true, true).slideUp(200);            
        });
		
});
}
else if(navigator.userAgent.match(/iPhone/i)) {
$(document).ready(function () {    
    $('.accordion-menu li').hover(
        function () {
            $('ul', this).stop(true, true).delay(200).slideDown(200);
        },
        function () {
            $('ul', this).stop(true, true).slideUp(200);            
        });
		
});
}
else
{
function initMenu() {
    $('.accordion-menu li ul').hide(); 
    $('.accordion-menu li p').on('click', function() {
        $('.accordion-menu li ul').slideUp();
        $(this).next().slideDown();
    });
}
$(document).ready(initMenu);
}

</__script>
{/literal}
Menu Sjabloon Accordion Menu

Code: Select all

{if $count > 0}
<ul class="accordion-menu">
{foreach from=$nodelist item=node}
{if $node->depth > $node->prevdepth}
{repeat string="<ul>" times=$node->depth-$node->prevdepth}
{elseif $node->depth < $node->prevdepth}
{repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
</li>
{elseif $node->index > 0}</li>
{/if}

{if $node->current == true}
<li><a href="{$node->url}" class="currentpage"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->parent == true && $node->depth == 1 and $node->type != 'sectionheader' and $node->type != 'separator'}
<li class="activeparent"> <a href="{$node->url}" class="activeparent"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{elseif $node->type == 'sectionheader'}
<li><p>{$node->menutext}</p>

{elseif $node->type == 'separator'}
<li style="list-style-type: none;"> <hr class="separator" />

{else}
<li><a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}> {$node->menutext} </a>

{/if}

{/foreach}

{repeat string="</li></ul>" times=$node->depth-1}</li>
</ul>
{/if}
Je kan hem helemaal naar smaak aanpassen natuurlijk met CSS

Stel het Menu sjabloon wel even in als standaard.

Groetjes Pascal
User avatar
erpee
Power Poster
Power Poster
Posts: 771
Joined: Sat Jul 07, 2007 9:22 am
Location: Almelo, The Netherlands

Re: Accordion Menu

Post by erpee »

Heb je ook een live voorbeeld?
Waarom zou het direct goed moeten gaan? Dan is alle lol weg ...
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Accordion Menu

Post by Rolf »

pasmaskas wrote:Ik wou even iets geven aan jullie ;D
Bedankt!! En *we* zijn niet eens jarig ;)
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
pasmaskas
Power Poster
Power Poster
Posts: 509
Joined: Tue Nov 29, 2011 10:42 am

Re: Accordion Menu

Post by pasmaskas »

Tuurlijk heb ik een live voorbeeld:

http://jeugd.dordrechtlions.nl/

@Rolf: Graag gedaan!
Post Reply

Return to “Tips en Trucs”