Я использую jquery Isotope для создания галереи портфолио, почти все работает как ожидалось, единственное, что я хотел бы изменить, это поведение открытого содержимого. Теперь, когда вы нажимаете на фотографию, окно содержимого расширяется и обнаруживает большее изображение с некоторым текстом, проблема в том, что при повторном нажатии на поле содержимого (.item) содержимое возвращается к его первоначальному размеру, и я не хочу что, поскольку в одном из ящиков содержится более одного изображения с colorbox.jQuery Isotope - Как отключить интерактивный контент в расширенном .item?
Лучшим решением было бы добавить кнопку закрытия в «большом» контейнере вместо использования всей области окна, но это оказалось больше, чем я могу справиться.
Вот код, я использую для управления коробкой размеров и нажмите обнаружение:
$(function() {
var $container = $('#pageWrapper'),
$items = $('.item');
$('#filter').find('a').click(function() {
// get the href attribute
var filterName = '.' + $(this).attr('href').slice(1);
filterName = filterName === '.show-all' ? '*' : filterName;
$container.isotope({
filter: filterName
});
return false;
});
// change size of clicked element
$container.find('.item').live('click', function() {
if ($(this).is('.large')) {
jQuery('.item-content', this).fadeToggle("fast", "linear");
jQuery('.thumb', this).fadeToggle("fast", "linear");
jQuery('h3', this).fadeToggle("fast", "linear");
$(this).toggleClass('large');
$container.isotope('reLayout');
} else {
jQuery('.large > .item-content');
jQuery('.large > .thumb');
jQuery('.large > h3');
$container.find('.large').removeClass('large');
jQuery('.item-content', this).fadeToggle("fast", "linear");
jQuery('.thumb', this).fadeToggle("fast", "linear");
jQuery('h3', this).fadeToggle("fast", "linear");
$(this).toggleClass('large');
$container.isotope('reLayout');
}
});
// switch selected class on buttons
$('#categories').find('.option-set a').click(function() {
var $this = $(this);
// don't proceed if already selected
if (!$this.hasClass('selected')) {
$this.parents('.option-set').find('.selected').removeClass('selected');
$this.addClass('selected');
}
});
// isotope behavior
$container.isotope({
itemSelector: '.item',
masonry: {
columnWidth: 10
},
Любой идею, как я могу остановить «большое» окно от закрытия при нажатии и добавить кнопку для его закрытия вместо всей коробки?
Спасибо заранее!
Возможный дубликат [JQuery Isotope - доступный контент в расширенном .item?] (Http://stackoverflow.com/questions/8876455/jquery-isotope-clickable-content-in-expanded-item) –