В настоящее время вы используете $(this)
в .click()
, но это <button>
(#related-btn
) не <div>
(#show-hide
), я думаю, что вы хотите это:
$("#related-btn").hover(function() {
$("#show-hide").toggle("slow");
}).click(function() {
$("#show-hide").toggle();
});
You can see an updated example here
Или если вы хотели, чтобы это было оживленным в обоих случаях, это немного короче:
$("#related-btn").bind('mouseenter mouseleave click', function() {
$("#show-hide").toggle("slow");
});
Или ... если вы хотите, чтобы не переключать его, но есть щелчок «контактный» это, вы можете сделать это так:
$("#related-btn").hover(function() {
if(!$(this).data('pinned'))
$("#show-hide").toggle("slow");
}).click(function() {
$(this).data('pinned', !$(this).data('pinned'));
});
You can see a demo of that here
@Kyle - Добро пожаловать :) Разве что эффект вы после? Я могу немного приспособить этот пример, просто дайте мне знать, если что-то не совсем то, что вы хотите. –
Еще раз спасибо, основная функциональность есть, но когда вы нажмете кнопку, она перестанет функционировать. Думаю. (jq noob) Я был за чем-то более похож на hover: show, click (и mouseleave): покажите, нажмите еще раз: скройте .. если вы понимаете? – Kyle
@Kyle - Попробуйте последний пример в ответе, есть демо-ссылка, это код для «закрепления», из-за отсутствия лучшего термина. - Вот немного измененная версия, прячась сразу же после открепления: http://jsfiddle.net/rfyxD/4/ –