私はいくつかのマイナーなhtml / jqueryロジックに苦労しています。
「仕事」と呼ばれる Div を取得し、その中にギャラリーがあります。
<div class="work">
<span class="workTitle">A Work</span>
<div class="gallery" style="" >
<img src="images/works/01.jpg" width="200" height="200" />
<img src="images/works/01.jpg" width="200" height="200" />
<img src="images/works/01.jpg" width="200" height="200" />
<img src="images/works/01.jpg" width="200" height="200" />
</div>
</div>
作品をクリックすると、次のクラスを切り替えることで、jquery で高さとマージンが変更されます。
work.click(function() {
work.removeClass("on");
$(this).addClass("on");
});
しかし、問題は、ギャラリー div を「作業」div に追加しようとすると、それらを非表示にして、「閉じた」高さが歪まないようにすることです。
また、「既に開いている」「作業」アイテムをクリックすると、「オン」クラスを再度閉じるのが好きです。しかし、ToggleClass はすべての作業を単独で開きます。1 つずつ閉じていくのではありません。
最後の質問は、高さをアニメートするにはどうすればよいですか? 特定の値を取得しましたが、余白パラメーターをアニメーション化するだけです。
前もって感謝します!
メチン。
また、なぜアイデアがうまくいかないのですか?
$(".work").click(function () {
openWork($(this));
});
function openWork($) {
$.animate({ marginLeft: openMargin }, 500, 'swing', function() {
// completion handler
$.animate({ height: workHeight }, 500, function () {
closeWorks($(".work").not($(this)));
});
});
}
function closeWorks($) {
$.animate({ height: '100%' }, 500, 'swing', function() {
$.animate({ marginLeft: closedMargin }, 500, 'swing', function() {});
});
jq_array のアイデアを関数に分割しようとしました。openWorks(); 問題ないようですが、closeWorks(); うまくいかない...