#jquery #html #css #jquery-isotope
#jquery #HTML #css #jquery-изотоп
Вопрос:
Есть ли способ сохранить позиционирование без изменений, но сделать элементы недоступными для нажатия? демонстрация здесь.
Добавляя другой класс вместо .element
, я теряю позиционирование.
Извините, что не добавил конкретные примеры кода, поскольку я не уверен, где исправить эту проблему (разметка, css или часть jquery)
Комментарии:
1. Смотрите бесплатную кладку здесь: masonry.desandro.com
Ответ №1:
Может быть
$(yourelement).css("cursor","auto");
?
Ответ №2:
Элементы доступны для просмотра только потому, что в них есть этот фрагмент скрипта.
// change size of clicked element
$container.find('.element').live('click', function(){
$(this).toggleClass('large');
$container.isotope('reLayout');
});
Вы можете изменить класс CSS на любой, какой захотите, при условии, что ему может соответствовать itemSelector
опция
$container.isotope({
itemSelector: '.my-class'
});
Комментарии:
1. перечитывая мой вопрос еще раз, я понимаю, что это было не слишком хорошо объяснено 🙂 Я хочу сделать некоторые элементы интерактивными (и сделать их масштабируемыми, как показывают демонстрации), а некоторые другие элементы НЕ интерактивными .. таким образом, тот же массив элементов, но некоторые из них не являются интерактивными.. Если я просто добавлю новый класс, похожий на .element, позиционирование будет потеряно..
Ответ №3:
Если вы хотите сделать некоторые элементы не кликабельными, вы можете просто проверить это в прослушивателе
var notClickable = ['Hg','Co','Rb']; // these element are not clickable
// change size of clicked element
$container.delegate( '.element', 'click', function(){
//if not in notClickable tab
if(jQuery.inArray( $(this).attr('data-symbol'), notClickable )==-1){
$(this).toggleClass('large');
$container.isotope('reLayout');
}
});
Демонстрация здесь:http://jsfiddle.net/thomasNDS/bKtvN/1 /