2014-09-23 53 views
2

下拉菜單中我使用點擊下拉菜單,AJAX的一個簡單的例子:製作通過點擊使用CSS

http://jsfiddle.net/dmitry313/1s62x8hc/2/

HTML:

<a href="javascript:void(0);" class="dropmenu">Dropdown menu</a> 
<ul style="display:none"> 
    <li><a href="#">Dropdown link 1</a></li> 
    <li><a href="#">Dropdown link 2</a></li> 
</ul> 

SCRIPT:

$(document).ready(function() { 
     var click = function() { 
      var divObj = $(this).next(); 
      var nstyle = divObj.css("display"); 
      if (nstyle == "none") { 
       divObj.slideDown(false, function() { 
        $("html").bind("click", function() { 
         divObj.slideUp(); 
        }); 
       }); 
      } 
     }; 
     $(".dropmenu").click(click); 
    }); 

是否可以使用CSS創建相同的腳本?

編輯:更新的鏈接

回答

1

可以觸發css點擊使用黑客!

使用複選框!

樣品:

 ul{ 
 
      display: none; 
 
     } 
 
     #checkbox{ 
 
      opacity: 0; 
 
     } 
 
     #checkbox:checked + ul { 
 
      
 
      display: block; 
 
     }
<div class="container"> 
 
     <label for="checkbox">Dropdown menu</label> 
 
     <input id="checkbox" type="checkbox" />   
 
     <ul> 
 
      <li><a href="#">Dropdown link 1</a></li> 
 
      <li><a href="#">Dropdown link 2</a></li> 
 
     </ul> 
 
    </div>

您可以使用轉換動畫節目的隱藏效果:) 這只是一個很簡單的例子!

提及:如果你需要舊版瀏覽器的支持,這是一個CSS3黑客,這是行不通的。

+0

非常感謝您的回答。非常好的例子! – Mia 2014-09-23 09:22:36

+0

歡迎:) – 2014-09-23 09:39:17

0

沒有,你需要至少三個一行JavaScript。

0

據我所知你不能有一個onClick方法或類似的CSS。

0

純HTML/CSS解決方案使用HTML嵌套列表 - 仍然需要JS的幾行,以使它的onclick

http://jsfiddle.net/t1zw41ep/2/

<nav> 
<ul> 
    <li><a href="#">Dropdown Menu</a> 

     <ul> 
      <li><a href="#">Dropdown Link 1</a> 

      </li> 
      <li><a href="#">Dropdown Link 2</a> 

      </li> 
     </ul> 
    </li> 
</ul> 
</nav> 

參見:http://line25.com/tutorials/how-to-create-a-pure-css-dropdown-menu

+0

我需要點擊鼠標後點擊 – Mia 2014-09-23 09:20:28

+1

用戶Steven Wave使用複選框hack的代碼片段是在沒有JS或JQuery的情況下執行此操作的唯一方法,但是使用CSS3的限制僅限於在現代瀏覽器中運行onmouseclick。 – sman0307 2014-09-23 09:24:32