2014-01-07 73 views
0

嗨我已經爲我的網站創建了一個共享部分這些社交網絡鏈接隱藏在文檔開始。jQuery show hide禁用目標屬性

但是,當我嘗試點擊這些鏈接時,我取消隱藏我的共享鏈接鏈接無法導航到任何地方,如果我右鍵單擊並在新標籤中單擊打開它的工作原理。

我的代碼是低於或視圖jsFiddle

<ul class="nav"> 
    <li><a href="http://www.google.com" target="_blank" id="open">Info</a> 
    </li> 
    <li class="share"><a href="#" id="share">Share</a> 
    </li> 
</ul> 

<ul class="sharenav"> 
    <li><a href="https://www.facebook.com/sharer/sharer.php?u=index.html" target="_blank">FB</a> 
    </li> 
    <li><a href="http://www.google.com" target="_blank">Twitter</a> 
    </li> 
    <li><a href="#">G+</a> 
    </li> 
    <li><a href="#">LinkedIn</a> 
    </li> 
</ul> 

JS/js.js

$('.sharenav').hide(); 

$('.share').on('click', function() { 
    $('.sharenav').slideDown('slow'); 
}); 

$('.share').mouseleave(function() { 
    $('.sharenav').slideUp('slow'); 
}); 
$('.sharenav').on('click', function() { 
    $(this).stop(); 
    return false; 
}); 
$('.sharenav').mouseleave(function() { 
    $(this).slideUp('slow');; 
}); 
+0

HTTP:/ /jsfiddle.net/ey5kr/1/這是解決你的問題嗎? –

回答

0

鏈接不工作,因爲你實際上停止與這些線你的鏈接的執行:

$('.sharenav').on('click', function() { 
    $(this).stop(); 
    return false; 
}); 

這是另一種溶液(過濾的點擊處理程序僅li,允許a執行如預期):

$('li.sharenav').on('click', function() { 
    $(this).stop(); 
    return false; 
}); 
+0

感謝您的支持,對不起,我不知道這一點。我會接受其他答案,但你的答案是唯一的工作例子。定時器運行後會接受答案 – 001221

0
$('.sharenav').on('click', function() { 
    $(this).stop(); 
    return false; // this stops the navigation. 
}); 
2

這是什麼碼?

$('.sharenav').on('click', function() { 
    $(this).stop(); 
    return false; 
}); 

有了這個,當你點擊一個鏈接,它首先看它運行此事件偵聽器的事實,你點擊了.sharenav(上行容器)。

這個事件監聽器返回false,所以沒有更多的事件被執行(在這種情況下,被點擊的鏈接)。

嘗試從中刪除該代碼塊或return false;

我已經整理好了你的代碼,所以現在有一個暫停效果的超時。而且,當您離開父元素時,子容器仍然保留在它的位置。希望這會幫助你,如果它是你所追求的:

http://jsfiddle.net/JjQWL/