我试图在按钮上设置触发器,如下所示:http://jsfiddle.net/3gdc0ajs/4/ 点击按钮后,' Home'页面滚动出视图,“关于”页面滚动到视图中。
我写了这个:
$('.cps-trigger').click(function() {
.animate('slow');
});
我将这段代码插入到我的.js文件中,在最后一组"})之间;"和评论"结束点导航*。结果是它完全停止了垂直点导航,所以我删除了片段。我写jquery时非常糟糕,但我正在尝试。有人可以解释为什么我的代码片段不起作用吗?
答案 0 :(得分:1)
你有一个浮动方法调用(我认为这个术语已经完成了!)。
.animate('slow');
您没有指定一个对象来调用该方法,因此您的语法无效。如果您尝试使用此按钮为它添加动画,那么:
$(this).animate({
// animation params
}, 'slow');
如果那不是您想要设置动画的对象,则需要将其替换为实际对象。无论哪种方式,上述方法都会阻止您的其他代码破坏。
答案 1 :(得分:0)
尝试使用:
$('.cps-trigger').click(function() {
$(this).animate(
{scrollTop:posi}//or something else which you want for
,'slow'); // use current object to animate
});
答案 2 :(得分:0)
您需要编写一个函数,然后在click事件中调用该函数。如果click事件位于锚标记上,则需要防止默认。例如:
var scrollTo = function(id){
// scroll to about section functionality
var scrollPos = $(id).offset().top;
$('html, body').animate({ scrollTop: scrollPos + 'px' }, 'slow');
};
// your click event
$('.my-button').click(function(e){
e.preventDefault();
scrollTo('#about');
});