Здравейте, моля всички, които разбират от JavaScript да ударят едно рамо. Трябва ми следното нещо когато се отвори главната категорията да може, пак от там да се затваря. Ето JavaScrip-та.
jQuery.fn.initMenu = function() {
return this.each(function(){
var theMenu = $(this).get(0);
$('.acitem', this).hide();
$('li.expand > .acitem', this).show();
$('li.expand > .acitem', this).prev().addClass('active');
$('li a', this).click(
function(e) {
e.stopImmediatePropagation();
var theElement = $(this).next();
var parent = this.parentNode.parentNode;
if($(parent).hasClass('noaccordion')) {
if(theElement[0] === undefined) {
window.location.href = this.href;
}
$(theElement).slideToggle('normal', function() {
if ($(this).is(':visible')) {
$(this).prev().addClass('active');
}
else {
$(this).prev().removeClass('active');
}
});
return false;
}
else {
if(theElement.hasClass('acitem') && theElement.is(':visible')) {
if($(parent).hasClass('collapsible')) {
$('.acitem:visible', parent).first().slideUp('normal',
function() {
$(this).prev().removeClass('active');
}
);
return false;
}
return false;
}
if(theElement.hasClass('acitem') && !theElement.is(':visible')) {
$('.acitem:visible', parent).first().slideUp('normal', function() {
$(this).prev().removeClass('active');
});
theElement.slideDown('normal', function() {
$(this).prev().addClass('active');
});
return false;
}
}
}
);
});
};
$(document).ready(function() {$('.menu').initMenu();});
Ето и HTML-a.
<ul class="menu">
<li>
<a href="#">Weblog Tools</a>
<ul class="acitem">
<li><a href="#">PivotX</a></li>
<li><a href="#">WordPress</a></li>
<li><a href="#">four</a></li>
<li><a href="#">Textpattern</a></li>
<li><a href="#">Typo</a></li>
</ul>
</li>
<li>
<a href="#">Programming Languages</a>
<ul class="acitem">
<li><a href="#">PHP</a></li>
<li><a href="#">Ruby</a></li>
<li><a href="#">Python</a></li>
<li><a href="#">PERL</a></li>
<li><a href="#">Java</a></li>
<li><a href="#">C++</a></li>
</ul>
</li>
</ul>
jQuery.fn.initMenu = function() {
return this.each(function(){
var theMenu = $(this).get(0);
$('.acitem', this).hide();
$('li.expand > .acitem', this).show();
$('li.expand > .acitem', this).prev().addClass('active');
$('li a', this).click(
function(e) {
e.stopImmediatePropagation();
var theElement = $(this).next();
var parent = this.parentNode.parentNode;
if($(parent).hasClass('noaccordion')) {
if(theElement[0] === undefined) {
window.location.href = this.href;
}
$(theElement).slideToggle('normal', function() {
if ($(this).is(':visible')) {
$(this).prev().addClass('active');
}
else {
$(this).prev().removeClass('active');
}
});
return false;
}
else {
if(theElement.hasClass('acitem') && theElement.is(':visible')) {
if($(parent).hasClass('collapsible')) {
$('.acitem:visible', parent).first().slideUp('normal',
function() {
$(this).prev().removeClass('active');
}
);
return false;
}
return false;
}
if(theElement.hasClass('acitem') && !theElement.is(':visible')) {
$('.acitem:visible', parent).first().slideUp('normal', function() {
$(this).prev().removeClass('active');
});
theElement.slideDown('normal', function() {
$(this).prev().addClass('active');
});
return false;
}
}
}
);
});
};
$(document).ready(function() {$('.menu').initMenu();});
Ето и HTML-a.
<ul class="menu">
<li>
<a href="#">Weblog Tools</a>
<ul class="acitem">
<li><a href="#">PivotX</a></li>
<li><a href="#">WordPress</a></li>
<li><a href="#">four</a></li>
<li><a href="#">Textpattern</a></li>
<li><a href="#">Typo</a></li>
</ul>
</li>
<li>
<a href="#">Programming Languages</a>
<ul class="acitem">
<li><a href="#">PHP</a></li>
<li><a href="#">Ruby</a></li>
<li><a href="#">Python</a></li>
<li><a href="#">PERL</a></li>
<li><a href="#">Java</a></li>
<li><a href="#">C++</a></li>
</ul>
</li>
</ul>