拡張可能なリンクのあるサイドバーがあります。それらが特定のポイントを超えて拡張するとき、私はいくつかのテキストをあるdivから別のdivに移動したいと思います(赤から青)。リンクを展開したり折りたたんだりすると、ある時点で、移動しようとしていたテキストが消えてしまいます。
2つの問題があります:
- 展開するとテキストが青いdivに移動し、折りたたむとテキストが赤に戻ります。
- テキストは完全に消え、他のdivに移動しません。
これが私のhtmlです:
<div id="sidebar">
<div>
<a href="#" class="cal-title">Test 1</a>
<p class="cal-desc">Lorem ipsum</p>
</div>
<div>
<a href="#" class="cal-title">Test 2</a>
<p class="cal-desc">Lorem ipsum</p>
</div>
<div>
<a href="#" class="cal-title">Test 3</a>
<p class="cal-desc">Lorem ipsum</p>
</div>
</div>
<div class="red">
<p>Just some random text</p>
</div>
<div class="blue">
</div>
jQuery/jsコードは次のとおりです。
$(document).ready(function() {
var isExtended = false;
function placeTiles() {
// When to move content from .red to .blue
if ($('#sidebar').height() > 150 && isExtended == false) {
$('.red').appendTo($('.blue'));
isExtended = true;
// When to move content from .red to .blue
} else if ($('#sidebar').height() <= 150 && isExtended == true) {
$('.blue').appendTo($('.red'));
isExtended = false;
}
}
$('.cal-desc').hide();
// Check how thing are on init
placeTiles();
$('.cal-title').click(function() {
$(this).siblings('.cal-desc').toggle();
placeTiles();
});
});
これが私のjsfiddleへのリンクです。
私は本当にjavascriptの初心者なので、私のコードの提案は大歓迎です!