Вот мой сайт:
http://www.raceramps.com/v2
Наведите указатель мыши на меню с правой стороны. Обратите внимание, что по умолчанию полностью увеличены автосервис, буксировка прицепов и демонстрация. Это потому, что они продают больше продуктов, и большинство людей, просматривающих этот сайт, ищут их.
В настоящее время есть настройка меню аккордеона с использованием следующего кода:
$(function(){
$( '.buttonEffectWrapper' ).hover (
function () {
var effect = $(this).siblings().filter(":last");
effect.stop ().animate ( { opacity: 1}, { duration: 300 } );
$(this).stop().parent().animate({height: "110px"}, {duration: 300 } );//accordion effect here
},
function () {
var effect = $(this).siblings().filter(":last");
effect.stop ().animate ( { opacity: 0}, { duration: 300 } );
$(this).stop().parent().animate({height: "30px"}, {duration: 300 } );//accordion effect here
}
);
} );
Во-первых, если вы подведете указатель мыши горизонтально над одной из кнопок несколько раз, она создаст очередь. Я думал, что использование stop () должно было исправить это, но это не так.
Во-вторых, я не хочу, чтобы первые три элемента div (# car-service, # трейлер-перевозчик и # display-and-show) рухнули, когда мышь уйдет. Я попробовал следующее, но он выбирает все еще.
$(this + ":not(#car-service, #trailer-hauling, #display-and-show)").stop().parent().animate({height: "30px"}, {duration: 300 } );
и в-третьих, если вы наведите курсор мыши на один элемент div, а затем переместитесь на один под ним, так как один элемент div расширяется, а другой падает, ваша мышь оказывается в положении, которое вы не хотели бы. Единственный способ исправить это - не позволить предыдущему div рухнуть.
Так что, если я коснулся #car-service
, то перешел к #trailer-hauling
, #car-service
не должно разрушиться. Но если я перейду с #trailer-hauling
на #show-and-display
, тогда я хочу, чтобы #car-service
сократился. Это должно предотвратить повреждение интерфейса.