私は20の異なるdivを持っています。
5 class = "icon"、
5 class = "rainskin"、
4 class = "schoolproject"、
4 class = "wallpaper"、&
2 class="その他"。
各divには、class="。type"のdivが1つあります。.type divのヘッダー部分(約27ピクセル)が表示されていますが、残りは非表示になっています。誰かが.typedivにカーソルを合わせると、上にスライドします(margin-top:を0pxに変更します)。マウスがホバーしなくなると、元の場所(margin-top:110px)に戻ります。
これが私のフィドルです。およびJavaコード。
(function ($) {
var original = [];
$('.type').each(function (i) {
original.push($(this).css('margin-top'));
});
$('.type').hover(function (e) {
$(this).stop().animate(
{"margin-top" : (
$(this).parent().outerHeight() -
$(this).outerHeight()
)},
250
);
}, function (i){
var i = $('.type').index($(this));
$(this).stop().animate(
{"margin-top": original[i]},
250
);
});
}(jQuery));
誰かが1つの.typedivにカーソルを合わせ、最初の.type divが下にスライドする前に、別の.type divにカーソルを合わせない限り、これは完全に正常に機能します。次に、.icon、.rainkin、.schoolprojectなどのdivが少し下に移動します。私のフィドルに行って、自分でチェックしてください。なぜそれをしているのか分かりません。