У меня есть следующий код: http://jsfiddle.net/GtC6x/10/ (анимированный динамическая высота)Mobile вопрос меню переключения (OnClick работает только на внешнем контейнере, а не кнопка)
Теперь вы можете нажать как на кнопку и всей красной области для переключения , Я только хочу, чтобы фиолетовая область была той, которая переключается, с этой структурой разметки.
$('.nav-container').on('click', function() {
Должно быть
$('.nav-toggle').on('click', function() {
Но потом он ломает. Что мне нужно изменить в коде? Как новичок js, я некоторое время смотрел на этот код, но не смог увидеть, где/почему переключатель должен сидеть на внешнем контейнере, чтобы работать.
$('.nav-container').on('click', function() {
slide($('.nav-wrap .nav', this));
});
function slide(content) {
var wrapper = content.parent();
var contentHeight = content.outerHeight(true);
var wrapperHeight = wrapper.height();
wrapper.toggleClass('expand');
if (wrapper.hasClass('expand')) {
setTimeout(function() {
wrapper.addClass('transition').css('height', contentHeight);
}, 10);
}
else {
setTimeout(function() {
wrapper.css('height', wrapperHeight);
setTimeout(function() {
wrapper.addClass('transition').css('height', 0);
}, 10);
}, 10);
}
wrapper.one('transitionEnd webkitTransitionEnd transitionend oTransitionEnd msTransitionEnd', function() {
if(wrapper.hasClass('open')) {
wrapper.removeClass('transition').css('height', 'auto');
}
});
}
Ах, теперь я его наконец. Спасибо за это объяснение и решение. Отлично! – Alx