次のスライド パネルがあり、チュートリアルなどを使用してまとめました...
$(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);
});
});
ただし、クリックしてパネルを表示する方法がわかりません。
現在、クリックするとパネルが下にスライドし、パネルに出入りするとスライドして戻ります。
クリックしてパネルを表示したら、クリックして閉じることもできますか?
したがって、マウスを離すか、ボタンをもう一度クリックするという 2 つの方法で閉じることができます。おそらく、アクティブなクラスを追加して、矢印または何かを開いてから閉じるように変更できますか?
クリックしてスライドバックアップ機能を追加するのを手伝ってくれる人はいますか?
できればどうもありがとう:)
Thanks guys.
ブライアンのコードを追加しようとしましたが、完全に壊れてしまいました。明らかに正しい場所に配置していません:(
編集
ブライアンのアドバイスを追加...
$(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);
});
});