作者knives ()
看板Web_Design
標題[問題] 請問下拉式選單如何改
時間Wed Dec 17 10:20:47 2008
我現在用jquery配合用php迴圈產生出來的div來做下拉式選單
div的格式主要為
<div id='show_".$x."' class='show_menu_div'>
<ul class='show_menu'>
<li><a href='".$xlink."'>".$record["xname"]."</a></li>
</ul>
</div>
然後在原本的網頁裡將要做動作的各個td裡面加上了
id="show_menu_0"跟class="show_menu"
我的jquery程式
$('.show_menu').hover(
function () {
var decide_which_one;
var obj=$(this).offset();
var left = obj.left ;
var top=obj.top+30;
switch ($(this).attr('id')){
case "show_menu_0":
decide_which_one="show_0";
break;
case "show_menu_1":
decide_which_one="show_1";
break;
default:
decide_which_one="";
break;
}
$('#'+decide_which_one).css({left: left + 'px',
top: top + 'px'}).slideDown();
},
function () {
var decide_which_one;
var obj=$(this).offset();
var left = obj.left ;
var top=obj.top+30;
switch ($(this).attr('id')){
case "show_menu_0":
decide_which_one="show_0";
break;
case "show_menu_1":
decide_which_one="show_1";
break;
default:
decide_which_one="";
break;
}
$('#'+decide_which_one).css({left: left + 'px',
top: top + 'px'}).slideUp();
return false;
}
);
雖然hover事件很成功的觸發了
但是現在問題來了
問題一:
當我滑鼠移到新跑出來的選單上,那麼這些選單又會馬上被slideUp上去
這樣我就不能點這選單裡面的超連結了
請問要如何解決
問題二:
為什麼當我hover離開的時候,在IE上面看,原來的選單會又再閃一下才消失
用Firefox就不會有這個問題
有人可以給我建議嗎
謝謝
--
◢ ˊ_▂▃▄▂_ˋ. ◣ ▅▅▅ ▅▅▅ ι●╮
▍./◤_▂▃▄▂_◥ \'▊ HARUHI ████████ <■┘
▎⊿ ◤◤◥█◥◥█Δ █ ISM ███▃▃███ ¢|\
▏ζ(▏●‵◥′●▊)Ψ ▏ By-gamejye ▂▂▂ ▂▂▂ ⊿Δ
█/|▊ 〃 、 〃▋ |\ ▎ ハ ル ヒ 主 義
◥◥|◣ ‵′ ◢/'◢◢ S‧O‧S 世界を大いに盛り上げるための涼宮ハルヒの団
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.228.153.178
→ TonyQ:這問題有一點棘手 :p 一般來講我的作法是把hover 12/17 11:19
→ TonyQ:的範圍弄到有包含子選單的項目裡面,不然做一些連鎖的設定.:p 12/17 11:19
→ TonyQ:反正我的經驗是真的不太容易想就是了...找現成套件吧:p 12/17 11:20
→ TonyQ:jdMenu 可以考慮看看. 你只要產ul/li格式的html就好. 12/17 11:20