折りたたみパネルが折りたたまれた(または折りたたまれていない)初期状態で動作しようとしています。初期状態の機能がなければうまくいきますが、私がそれを導入すると、最初のクリックはうっかりしていて、インジケータアイコンは反転しています。私はこれが単なる論理パズルであると確信しています。私ははっきりと見逃していますが、実際は私は困惑しています。初期状態の折りたたみパネル
jQueryとブートストラップの使用。コードはこのポストの目的のためにわずかに変更されています。なぜなら、それは独自の関数(通常はTypeScriptのエクスポート関数ですが、ここでは問題ありません)であり、アイコンはアイコンフォントを使用しています。 ' 簡単にするために。
パネルが折りたたまれているときは「アイコン」を指し、展開したときは上を指すはずです(クリックしたときにどのような動作が起こるかを示します(現在の状態を示していますエンジニアやデザイナー、笑!)私はそれが状態が折りたたまれている初期ですので、ターゲットに「崩壊」のクラスを適用できるようにする必要があります。
http://codepen.io/sinrise/pen/eBoNPE
HTML
<div class="container" style="padding-top: 30px;">
<div class="row">
<div class="col-md-12">
<div class="panel panel-default">
<div class="panel-heading collapse-header" data-target="#test-panel1">Heading</div>
<div class="panel-body collapsed" id="test-panel1">
<p>some content</p>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading collapse-header" data-target="#test-panel2">Heading</div>
<div class="panel-body" id="test-panel2">
<p>some content</p>
</div>
</div>
</div>
</div>
</div>
CSS
.collapse-header + .collapsed { display: none; }
.collapse-header {
position: relative;
&:hover { cursor: pointer; }
&:after {
position: absolute;
font-family: "Sans-serif";
content: "^";
transform: rotateZ(0deg);
right: 15px;
transition: all 0.5s linear;
}
&.rotate-icon {
&:after {
transform: rotateZ(180deg);
transition: all 0.5s linear;
}
}
}
JS/jQueryの
function setCollapsableHeaders() {
$.each($(".collapse-header"), function() {
var $this = $(this);
var tar = $($this.attr("data-target"));
$this.on("click", function() {
$this.toggleClass("rotate-icon");
tar.toggleClass("collapsed");
tar.animate({
height: "toggle",
paddingTop: "toggle",
paddingBottom: "toggle"
}, 500, function() {
});
});
});
};
$(function(){
setCollapsableHeaders();
});
ありがとう!それはほとんどそれです。残念ながら、あなたの解決策は初期の折りたたまれた状態の問題を修正しません。矢印は、最初に折りたたまれているパネルに間違った方向を指しています... – sinrise
これは、アイコンを追加する方法がちょっと静的なので修正するための問題ではありません。 "^"だから私はそれが解決能力を超えていると思う(おそらく、この正しい矢印を得るためのより良い修正があるが、私は考えることができない)) –
あなたはCSSレベルで "^"文字を割り当てているので、パネルの状態、それはあなたのコマンドに従い、それを割り当てます。この例を考えてみましょう:http://codepen.io/anon/pen/bBJVggすべてのパネルが開いているので、文字 "^"が正しく指しています。私のポイントを得ることを願っています。 –