Я пытаюсь выполнить то, что имеет несколько различных элементов, каждый из которых я могу заставить работать индивидуально, но когда я пытаюсь объединить их, я ничего не получаю.
Цели:
1) при наведении курсора на текст элемента списка, переключение / исчезновение описания div.
2) при нажатии на текст элемента списка, «pin» описание div
3) при нажатии на тот же элемент списка, «открепить» описание div
4) при щелчке другого элемента списка «открепите» все, что уже закреплено, чтобы оно исчезло, и «закрепите» новый элемент, чтобы оно прилипло.
У меня есть список, настроенный так:
<ul>
<li><a href="http://foo.com">foo</a>
<div class="description">some text to be revealed</div>
</li>
<li><a href="http://foo.com">foo</a>
<div class="description">some text to be revealed</div>
</li>
</ul>
А вот и вопрос, который у меня есть до сих пор:
$(function() {
//creates toggle fade effect
jQuery.fn.fadeToggle = function(speed, easing, callback) {
return this.animate({opacity: 'toggle'}, speed, easing, callback);
};
$(".thumblist li").hover(function() {
if(!$(this).data('pinned'))
$(this).children(".description").fadeToggle();
});
$(".thumblist li").click(function() {
$('.liselected').removeClass('liselected');
$(this).children('.description').addClass('liselected');
$(this).data('pinned', !$(this).data('pinned'));
});
});
У меня все работает, кроме последнего пункта. Я попытался удалить класс .liselected из всех элементов списка, а затем добавить его в текущий onclick, но это не удается. Есть идеи?