リスト内の要素を表示/非表示にするために使用している次のコードがあります。
私が抱えている問題は、それがうまくロードされ、うまく開いたり折りたたまれたりすることです。ただし、一度開閉した後は、最後のダウン画像にとどまります。折りたたまれている場合は下向き矢印、展開されている場合は上向き矢印を常に表示する必要があります。
助けていただければ幸いです...ありがとう
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var $divView = $('div.view');
var innerHeight = $divView.removeClass('view').height();
$divView.addClass('view');
$('div.slide').click(function() {
// Update the HTML in this element
var slideHtml = $(this).html();
// Switch between show/hide
if (slideHtml.localeCompare('Hide / Show <img src="images/arrow_up.png" />') < 0)
$(this).html('Hide / Show <img src="images/arrow_up.png" />');
else
$(this).html('Hide / Show <img src="images/arrow_down.png" />');
$('div.view').animate({
height: (($divView.height() == 90)? innerHeight : "90px")
}, 500);
return false;
});
});
</script>
<div class="view">
<ul>
<li>text here</li>
<li>text here</li>
<li>text here</li>
<li>text here</li>
<li>text here</li>
<li>text here</li>
</ul>
</div>
<div class="slide">Hide / Show <img src="images/arrow_down.png" /></div>
編集::
上記のコードが Chrome でうまく機能することに気付きました。私の問題は、Firefox で動作しないことです。
展開後は問題ありません(上向きの矢印があります)。折りたたんだ後、上向き矢印はそのまま残り、下向き矢印に置き換わりません。
ヒント/ヘルプをいただければ幸いです。