簡體   English   中英

懸停展開垂直下拉菜單,而不是單擊

[英]Expand vertical drop down menu on hover instead of click

我有一個可擴展的垂直下拉菜單,當前在單擊第一級項目時可以展開,但是我希望在菜單項懸停時可以擴展。 原始腳本是:

<script type="text/javascript">
  $(document).ready(function () {
  $('#nav > li > a').click(function(){
  if ($(this).attr('class') != 'active'){
  $('#nav li ul').slideUp();
  $(this).next().slideToggle();
  $('#nav li a').removeClass('active');
  $(this).addClass('active');
    }
  });
});
</script>

我改變了.click(function.hover(function和工作原理,但我不知道這是否是做的最好的方式。任何人都可以提出建議,如果有更好的方式來達致這?你可以看到一個工作示例單擊此處的菜單左側.click版本的菜單謝謝!

將其更改為懸停是可以接受的。 這絕對是非常易讀的代碼,這很重要。 但是,有一個問題-正如丹尼爾(Daniel)所評論的那樣,這將使您的菜單無法在觸摸設備上導航,這意味着您將無法在每部手機和平板電腦上訪問該網站*。 這是很糟糕的事情,但是您可以做一些事情。

例如, jQTouch庫具有一些很棒的特定於觸摸的事件處理,使您可以為移動用戶優化菜單。 否則,您可以將菜單的JavaScript邏輯包裝為有條件的,或者可以將每個操作分配給touch和click。

* 帶有老鼠的手機和平板電腦除外(非常不典型的用例)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM