我无法弄清楚为什么超链接在使用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
我认为点击功能事件是错误的。
当我删除它的快捷方式时,超链接将起作用,但跳转到不再。
会有一个简单的解决方法吗?
答案 0 :(得分:0)
点击事件的功能很可能在这里失败
var trgt = parts[1];
表示第一个链接,因为部分未定义
答案 1 :(得分:0)
你去:这很好用
$(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;
}
});
});