2013-10-11 52 views
1

我有此代碼滑動某些消息,的javascript阻斷點擊

的JavaScript

$(function() { 
    $('#bottom_menu li a').click(function(e) { 
     e.preventDefault(); 
     animateSlider(this.hash); 
    }); 

    function animateSlider(hash) { 
     if (!$('#container div.open').length) { 
      if (hash == '#about') { 
       openPopup(hash); 
      } 
      if (hash == '#contact') { 
       openPopup(hash); 
      } 
     } else { 
      if (hash == '#about') { 
       openAndClose(hash) 
      } 
      if (hash == '#contact') { 
       openAndClose(hash) 
      } 
     } 
    } 

    function openPopup(hash) { 
     $(hash + '_popup').slideToggle().addClass('open'); 
    } 

    function openAndClose(hash) { 
     if ($(hash + '_popup').hasClass('open')) { 
      $($(hash + '_popup')).slideToggle().removeClass(); 
     } else { 
      $('#container div.open').slideToggle().removeClass(); 
      $(hash + '_popup').slideToggle().addClass('open'); 
     } 
    } 
}); 

HTML

<nav id="men55"> 
    <ul id="bottom_menu"> 
     <li style="text-align:left;"> 
      <a href="#about"><font face="din" size="4">onde <br />estamos</font></a> 
     </li> 
     <li style="text-align:left;"> 
      <a href="#contact"><font face="din" size="4">osnossos<br />parceiros</font></a> 
     </li> 
     <li style="text-align:left;"> 
      <a href="index2.php?web=news" <?php if($web == "news") {echo 'class="corrente"';} ?>><font face="din" size="4">news <br />press</font></a> 
     </li> 
    </ul> 
</nav> 

的問題是,當HREF =#接觸或href =#關於工作正常,但如果我想把一個href = index2.php?web = teste不工作...沒有任何反應......問題是他javascript阻止點擊裏面導航或li

+2

因爲你檢查哈希 - '這一點。 hash'。 – Elen

回答

2

只需更改您的初始選擇器,以只選擇錨標記的href屬性以「#」開頭,​​使用[href^="#"]。變化:

$('#bottom_menu li a').click(function(e) { ... }); 

要:

$('#bottom_menu li a[href^="#"]').click(function(e) { ... }); 

這會忽略其href財產不以 「#」 開頭的任何鏈接:

#about /* Prevented */ 
#contact /* Prevented */ 
index2.php /* Ignored */ 
index2.php?web=teste /* Ignored */ 
index2.php#test /* Ignored */ 
+0

謝謝,但對不起,我不能像你說的那樣改變代碼...你能改變我的原始代碼併發送給我嗎?再次感謝 – Ricardo

+0

@Ricardo在你的問題中發佈的代碼的第二行是'$('#bottom_menu li a')'。只需將其更改爲'$('#bottom_menu li a [href^=「#」]')'。爲了更加清晰,我編輯了我的答案。 –

+0

完美我的朋友,非常感謝。 – Ricardo