2011-09-16 32 views
0

我想集成jQuery效果與HTML鏈接例如: 當我點擊一個鏈接,它應該顯示在母版頁中的特定div,它也應該導航到所需的頁面,下面是我使用沒有成功實現這一目標的代碼:Html鏈接不工作結合jQuery效果

<script type="text/javascript"> 
$(document).ready(function() { 

$('#services-sub-menu').hide(); 
    $('#services').click(function() { 
    $('#services-sub-menu').show("slow"); 
    return false; 
     }); 

}); 
<div class="Menu2"><a href="/articles" id="articles">ARTICLES</a><br /> <a href="/services" id="services">TESTIMONIALS</a><br /><a href="#" id="contact">CONTACT US</a></div> 
</div><div class="sub-menu"> 
    <div id="services-sub-menu"><a href="/services-submenu" /></div> 

</div> 

jQuery的效果是工作,但該網頁無法導航到服務的頁面

+0

'是怎麼回事?我沒有在任何地方看到開頭標籤,這很可能是您的問題。 –

+0

我已將其刪除,對不起 –

回答

4

通過返回的錯誤點擊結束時,您基本上會告訴瀏覽器停止它的默認行爲。

這樣做的jQuery的equivelent是:

event.preventDefault(); 

其中

$('#services').click(function (event) { 

刪除您return false將允許鏈接,如預期但你anmiation完成之前它可能會重定向工作。

你可以做的是給顯示方法添加一個回調,並在那裏使用JavaScript重定向。

$('#services-sub-menu').show("slow",function(){ 
    // Stuff that will happen when animation has completed 
    window.location.replace(redirectionUrl); 
}); 

更新

這裏是一個非常基本的工作例如:http://jsfiddle.net/XakkU/

<a href="http://www.google.com" id="clicker">Click me </a> 
<div id="showMe">Hold on, we're taking off!</div> 

$('#clicker').click(function(event){ 
    $('#showMe').show('slow',function(){ 
     window.location.replace($('#clicker').attr('href')); 
    }); 
    event.preventDefault(); 
}); 
+0

請提供最簡單的示例請 –

+0

請參閱我的更新。 –

+0

thnx我現在就試試 –

2

從JavaScript中移除行

return false; 

。它阻止了點擊的進一步處理,因此鏈接不起作用。

+0

我需要返回false以防止一些css在騎 –

+0

然後,你最好的選擇是使用回調函數以及效果,正如Jamie所建議的。 – Andrei