HTML
<div class="expand">
<span>▲</span>
</div>
JS
$(".expand").click(function(){
if ($(this).children().text()=="▼") {
$(this).children().fadeOut("fast",function(){
$(this).children().text("▲");
}); // callback?
$(this).children().fadeIn("fast"); //woks
} else {
$(this).children().fadeOut("fast",function(){
$(this).children().text("▼");
}); // callback?
$(this).children().fadeIn("fast"); //works
};
$(this).parent().parent().find(".words, .readings").slideToggle("fast"); //works
});
コールバックを入れてデバッグしようとしましalert('')
たが、何もポップアップしなかったので、ここで単純な間違いを犯していると思います。基本的には▼がフェードアウトし、フェードアウト(コールバック)したら▲になってからフェードインする、という感じです。あなたが私に尋ねると、どこでも見られるかなり標準的です。それとも私はこれを完全に間違っていますか?
まったく異なるソリューションよりも、実装の修正を好みますが、それらも大歓迎です。