Re alors j'y suis presque sauf que sa déconne un peut, ici j'utilise la function .click pour qu'il me lance ma function jquery au click, sauf que sa me fait des effets bisard d'accordéon connaîtriez vous une autre function qui pourrais réglé mon problème et faire functionné mon Jquery correctement via angular.
voici mes code a jour :
ma function jquery:
$(document).ready(function(){
accordion($(".accordeon"));
});
function accordion(){
$(".accordeon > li > .nav-title").click(function(){
if(false == $(this).next().is(':visible')) {
$('.accordeon ul').slideUp(300);
}
$(this).next().slideToggle(300);
});
$('.accordeon ul:eq(0)').show();
}
ma directive, j'ai opté pour un restrict A:
// Création de ma directive pour mon menu
app.directive('accordion', function(){
return {
restrict: 'A',
link: function(scope, element, attrs){
$(element).click(accordion);
}
}
})
mon menu:
<ul class="accordeon" accordion>
<li><div>Sports</div>
<ul>
<li><a href="#">Taekwondo</a></li>
<li><a href="#">Boxe</a></li>
<li><a href="#">Football</a></li>
</ul>
</li>
<li><div>Technology</div>
<ul>
<li><a href="#">iPhone</a></li>
<li><a href="#">Facebook</a></li>
<li><a href="#">Twitter</a></li>
</ul>
</li>
<li><div>Latest</div>
<ul>
<li><a href="#">prout</a></li>
<li><a href="#">toto</a></li>
<li><a href="#">tralalala</a></li>
</ul>
</li>
</ul>
merci