Я кодирую кнопку с стрелкой CSS, которая переворачивается вверх и вниз при каждом нажатии на контейнер.
Это выглядит отлично, но я не могу понять, как toggleClass
функцию toggleClass
как только slideToggle
.
Стрелка выглядит так, что она немного отстает, потому что она ждет долю секунды до конца анимации slideToggle
.
Возможно ли сделать огонь toggleClass
в начале анимации, а не в конце?
$("#content_link").click(function(){
$("#content").slideToggle("fast",function(){
$("div#arrow_container").toggleClass('arrow_down');
$("div#arrow_container").toggleClass('arrow_up');
});
});
не уверен, что это то, о чем вы просите, но да вызовите его перед slideToggle()
а не внутри его функции обратного вызова
$("#content_link").click(function(){
$("div#arrow_container").toggleClass('arrow_down')
.toggleClass('arrow_up');
$("#content").slideToggle("fast");
});
Удалите этот код из обратного вызова и добавьте его после вызова функции slideToggle, как этот
$("#content_link").click(function(){
$("#content").slideToggle("fast");
$("div#arrow_container").toggleClass('arrow_down');
$("div#arrow_container").toggleClass('arrow_up');
});
Вы также можете установить обратный вызов:
$("header#tag_cat1 div#cat1_content_link").click(function(){
$("#tag_cat1_content").slideToggle({
duration: "fast",
complete: function(){
$("section.category header > div#cat1_content_link > div").toggleClass('gt_arrow_down_5px');
$("section.category header > div#cat1_content_link > div").toggleClass('bt_arrow_up_5px');
},
start: function() {...}
});
});
Взгляните на вторую форму .slideToggle()