使用jQuery阻止转到锚点链接

时间:2015-03-21 17:05:33

标签: jquery scroll anchor preventdefault

这是我的jQuery代码,当它读取window.location.hash时,它会向元素添加一个CSS类并显示它。但我不能阻止去那个锚。我试过preventDefault()但它似乎不起作用。

<script type="text/javascript">
function cotizar(n){
  gotoSlide(n);
  $('#cotizadores > div').removeClass();
  $('#cotizadores > div').eq(n).addClass("cotizador_activo");

}

$(document).ready(function() {
  if(window.location.hash != ''){ 
    var hash = window.location.hash.substring(1);
    index = $(".tab-content > div ").children("#boton_"+hash).index();
    cotizar(index);
    clearInterval(slideival);
}

$(".slides > div > a").on('click',function(event){
  window.location.hash = $(this).parent().attr('id');
  index = $(this).parent().index();
  cotizar(index);
  event.preventDefault();
  return false;
});


});
</script>

This is my site url,请点击“ABRIR COTIZADOR&#39;在任何幻灯片中。

谢谢!

1 个答案:

答案 0 :(得分:0)

感谢Alexander O'Mara,这是我找到的最佳答案:

el= $('#anchor_element');    
id= el.attr("id");    
el.removeAttr('id');
window.location.hash =id;
el.attr('id',id);

此选项可防止闪​​烁。在Tobias Buschor

中显示的Lea Verou Blog's comments的积分