У меня есть следующая слайд-панель, я собрал все вместе, используя учебники и т. Д. *
$(document).ready(function() {
$(".dropdown dt a").click(function() {
$(".dropdown dd #panel").slideDown(150);
});
$(".dropdown dd #panel a").click(function() {
$(".dropdown dd #panel").slideUp(150);
});
var myTimeout = null;
$(".dropdown").bind("mouseleave", function() {
myTimeout = window.setTimeout(function() {
$(".dropdown dd #panel").slideUp(150); // <-- 1000ms
}, 1000);$('.dropdown dt a').removeClass('active');
});
$(".dropdown dd #panel").bind("mouseenter",function() {
window.clearTimeout(myTimeout);
});
});
Однако я не могу понять, как щелкнуть, чтобы вызвать панель.
В данный момент вы щелкаете, и панель сдвигается вниз, вы входите в панель и выходите, и она снова сдвигается вверх.
Я хочу добавить, что после того, как вы нажали, чтобы отобразить панель, вы также можете щелкнуть, чтобы закрыть ее?
Таким образом, у вас есть два способа закрыть его, отвести мышь или снова нажать кнопку. Возможно, добавление активного класса, чтобы у меня была стрелка или что-то изменилось, чтобы открыть, а затем закрыть?
Кто-нибудь может мне помочь, добавив функцию щелчка, чтобы сдвинуть назад?
Большое спасибо, если можете:)
Thanks guys.
Пытался добавить свой код, Брайан, но ему удалось полностью его сломать, я, очевидно, не поставил его в нужное место: (
редактировать
Добавление совета Brians ...
$(document).ready(function() {
$(".dropdown dt a").click(function(){
if($(".dropdown dd #panel").hasclass('open'){
$(".dropdown dd #panel").slideDown(150).addClass('open');
} else {
$(".dropdown dd #panel").slideUp(150).removeClass('open');
}
});
$(".dropdown dd #panel a").click(function() {
$(".dropdown dd #panel").slideUp(150).removeClass('open');;
});
var myTimeout = null;
$(".dropdown").bind("mouseleave", function() {
myTimeout = window.setTimeout(function() {
$(".dropdown dd #panel").slideUp(150); // <-- 1000ms
}, 1000);$('.dropdown dt a').removeClass('active');
});
$(".dropdown dd #panel").bind("mouseenter",function() {
window.clearTimeout(myTimeout);
});
}); * 1 028 *