向按钮添加触发器

时间:2014-12-16 15:42:30

标签: jquery html css

我试图在按钮上设置触发器,如下所示:http://jsfiddle.net/3gdc0ajs/4/ 点击按钮后,' Home'页面滚动出视图,“关于”页面滚动到视图中。

我写了这个:

$('.cps-trigger').click(function() {
    .animate('slow'); 
});

我将这段代码插入到我的.js文件中,在最后一组"})之间;"和评论"结束点导航*。结果是它完全停止了垂直点导航,所以我删除了片段。我写jquery时非常糟糕,但我正在尝试。有人可以解释为什么我的代码片段不起作用吗?

3 个答案:

答案 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');
});