Я задавался вопросом, мог ли переключатель () и постепенное появление () использоваться в одной функции...
я заставил это работать, но это только постепенно появляется после второго щелчка... не при первом щелчке переключателя.
$(document).ready(function() {
$('#business-blue').hide();
$('a#biz-blue').click(function() {
$('#business-blue').toggle().fadeIn('slow');
return false;
});
// hides the slickbox on clicking the noted link
$('a#biz-blue-hide').click(function() {
$('#business-blue').hide('fast');
return false;
});
});
<a href="#" id="biz-blue">Learn More</a>
<div id="business-blue" style="border:1px soild #00ff00; background:#c6c1b8; height:600px; width:600px; margin:0 auto; position:relative;">
<p>stuff here</p>
</div>
Вы можете использовать toggle() для чередования набора функций. Так, если вы хотите, чтобы элемент затухал и исчезал при каждом втором щелчке, используйте toggle() для управления двумя функциями: затуханием и исчезновением. Вот так:
$('a#biz-blue').toggle(function() {
$('#business-blue').fadeIn('slow');
return false;
},
function() {
$('#business-blue').fadeOut('slow');
return false;
});
Также похоже, что кто-то написал плагин для этого два года назад.
Ваш вопрос меня немного смущает, потому что .toggle ()
в основном является переключателем отображения / скрытия, но у вас есть fadeIn. Ближайшее предположение, которое у меня есть, это то, что вам нужно переключение затухания, и в этом случае вы можете сделать это с помощью animate ()
:
$('#business-blue').animate({opacity: 'toggle'}, 800);
Другой вариант, который вам может понадобиться, - это скользить вверх и вниз с помощью .slideToggle ()
вот так:
$('#business-blue').slideToggle('slow');