2014-02-05 304 views
-2
<script> 
$(document).ready(function() { 
    var li = $('.someDiv li'); 
    li.toggle(function() { 
     li.children("div").hide(); 
     $(this).children("div").fadeIn(700); 
    }, function() { 
     $(this).children("div").fadeOut(300); 
    }); 
}); 
</script> 

<div class="someDiv"> 
<ul> 
<li>Title <div style="display:none;">Description <a href="#">Something</a></div></li> 
<li>Title <div style="display:none;">Description <a href="#">Something</a></div></li> 
<li>Title <div style="display:none;">Description <a href="#">Something</a></div></li> 
</ul> 
</div> 

divs中有鏈接,但是當div可見時鏈接不可點擊,因爲點擊只是切換div。 鏈接如何工作?創建一個可點擊的鏈接

+5

您需要添加一些相關的代碼。什麼是HTML?也許把它添加到小提琴? – thomaux

+2

很高興看到你在說什麼鏈接。 – chrona

+1

另外,爲什麼要讓列表元素可點擊......? –

回答

0

我不會使用切換,檢查事件以查看它是否是錨點,如果它忽略了點擊。

$(function() { 
    $('.someDiv').on("click","li", function(e){ 
     var li = $(this); 

     if ($(e.target).is("a")) return; 

     li.toggleClass("open"); 
     var divs = li.children("div").stop(); 

     if(li.hasClass("open")) { 
      divs.fadeIn(700); 
     } else { 
      divs.fadeOut(300); 
     } 

    }); 
});