jQuery单击(函数(事件)超链接将无法正常工作

时间:2014-03-05 12:48:14

标签: javascript jquery html hyperlink

我无法弄清楚为什么超链接在使用jQuery点击事件时不会起作用。

我想将1个按钮用作链接 和一个跳转到当前页面。

div class="shortcat">
<a href="test.html"><i class="icon-thumbs-up"></i>Test Now</a>
<a href="#Learnmore"><i class="icon-picture"></i>Learn More</a>
</div>

//--------- jQuery ---------------//

jQuery(window).load(function() { 
        jQuery("#loaderInner").fadeOut(); 
        jQuery("#loader").delay(400).fadeOut("slow"); 
        $('.teaserTitle ').stop().animate({marginTop :'330px', opacity:"1"}, 1000, 'easeOutQuint');
        $('.shortcat a ').stop().animate({marginTop :'65px', opacity:"1"}, 600, 'easeOutQuint');
});


$(document).ready(function(){

$("#mainNav ul a, .logo a, .shortcat a, .notBtn a").click(function(event){

        event.preventDefault();
        var full_url = this.href;
        var parts = full_url.split("#");
        var trgt = parts[1];
        var target_offset = $("#"+trgt).offset();
        var target_top = target_offset.top;

        $('html,body').animate({scrollTop:target_top -80}, 800);
});


//-------------Highlight the current section in the navigation bar------------//
    var sections = $("section");
        var navigation_links = $("#mainNav a");

        sections.waypoint({
            handler: function(event, direction) {

                var active_section;
                active_section = $(this);
                if (direction === "up") active_section = active_section.prev();

                var active_link = $('#mainNav a[href="#' + active_section.attr("id") + '"]');
                navigation_links.removeClass("active");
                active_link.addClass("active");

            },
            offset: '35%'
        });

第一部分是HTML,第二部分是我的script.js

我认为点击功能事件是错误的。

当我删除它的快捷方式时,超链接将起作用,但跳转到不再。

会有一个简单的解决方法吗?

2 个答案:

答案 0 :(得分:0)

点击事件的功能很可能在这里失败

var trgt = parts[1];

表示第一个链接,因为部分未定义

答案 1 :(得分:0)

你去:这很好用

http://jsfiddle.net/6g4j2/

$(document).ready(function(){
   $("#mainNav ul a, .logo a, .shortcat a, .notBtn a").click(function(event){

        var full_url = this.href;
        var parts = full_url.split("#");
        var trgt = parts[1];

        if (trgt != undefined) {
            event.preventDefault();
            var target_offset = $("#"+trgt).offset();
            var target_top = target_offset.top;
            $('html,body').animate({scrollTop:target_top -80}, 800);
            return false;
        }

  });
});