我一直在尋找這個網站和整個谷歌試圖排除這一點,沒有任何運氣。此外,我是jQuery的新手,所以這可能是初級的,但這裏去....我有一個無序列表,八行元素,所有鏈接。點擊時,每個鏈接都應該在Lightbox中打開不同的文章,具體取決於點擊了哪個鏈接。我寫的代碼在Lightbox中打開文章,但會始終打開要點擊的第一個鏈接的第一篇文章。然後,如果它關閉並點擊不同的鏈接,它會打開第一個鏈接的文章。我確定我需要使用.index()來知道鏈接被點擊了,但不知道如何去做。誰能幫我這個?這裏是我的代碼的一部分看起來像....如何使用jQuery .index()返回不同的結果,具體取決於哪個<a>已被點擊
<ul>
<li><a href="#" id="a" class="links">Month One</a></li>
<article>Here is a long article that opens in lightbox</article>
<li><a href="#" id="b" class="links">Month Two</a></li>
<article>Here is a long article that opens in lightbox</article>
</ul>
<script>
$('a').on('click', function (e) {
switch (e.target) {
case "#a":
$overlay.append($articelNameA);
$articleNameA.show();
break;
case "#b":
$overlay.append($articleNameB);
$articleNameB.show();
break;
}
});
//adds overlay to html body
$("body").append($overlay);
//capture click event on empty link
$("#a").click(function(event){
event.preventDefault();
var contentText = $('#aarticle').html();
$articleNameA.html(contentText);
//opens the overlay on click
$overlay.show();
});
$("#b").click(function(event){
event.preventDefault();
var contentText = $('#barticle').html();
$articleNameB.html(contentText);
//opens the overlay on click
$overlay.show();
});
//Exit overlay on click
$overlay.click(function(){
$overlay.hide();
});
});
</script>
希望有道理!
經過一些調整後,事件目標方法給了我與原始代碼相同的結果。它打開與所有鏈接點擊第一篇文章的燈箱。 – RDustin 2014-09-30 03:40:37