这是当我按下“ Contacto”按钮时发生的情况



并且应该像这样



现在我正在使用此javascript代码

    $(function(){
    $('a#boton-contacto').on('click',function(e){
        e.preventDefault();
        var strAncla = $(this).attr('href');

        $('body,html').stop(true ,true).animate({
            scrollTop: $(strAncla).offset().top - $('nav').height()
        }, 500);

    });
});


但是它使按钮停止工作,我想知道为什么,怎么了?

您可以访问我的网站并尝试http://genebi.net希望对我有所帮助,谢谢。

最佳答案

jQuery的以下代码:

var strAncla = $(this).attr('href');strAncla设置为“ http://genebi.net/#contacto

并且由于“ http://genebi.net/#contacto”不是有效的选择器,因此出现了JavaScript错误,导致代码无法运行。

要解决此问题,请执行以下任一操作:


从以下位置更改元素的url:
<a id="boton-contacto" href="http://genebi.net/#contacto">CONTACTO</a>


<a id="boton-contacto" href="http://genebi.net/#contacto">CONTACTO</a>

要么:

2:您可以在链接中使用数据属性:

<a id="boton-contacto" href="http://genebi.net/#contacto" data-element="#contacto">CONTACTO</a>

并按如下所示更改您的jQuery:

var strAncla = $(this).attr('data-element');

它会按您的意愿工作。

09-11 19:09