有没有办法合并jquery函数,它们在不同的类和id上执行相同的操作。

时间:2017-06-29 10:55:23

标签: javascript jquery performance javascript-events

我的代码如下:

 $('.contact_btn').click(function(){
    $('.modal').modal('hide');
     $('html, body').animate({
        scrollTop: $("#contact").offset().top
    }, 1000);

});

$('.insurance_btn').click(function(){
    $('.modal').modal('hide');
     $('html, body').animate({
        scrollTop: $("#insuranceFormTop").offset().top
    }, 1000);

});

$('.bmw_btn').click(function(){
    $('.modal').modal('hide');
     $('html, body').animate({
        scrollTop: $("#bmwContactTop").offset().top
    }, 1000);

});

有没有办法只生成一个函数,它接受类并作用于相应的id。

2 个答案:

答案 0 :(得分:0)

  function simplefunction(classname,id){
    $('.'+classname).click(function(){
        $('.modal').modal('hide');
         $('html, body').animate({
            scrollTop: $("#"+id).offset().top
        }, 1000);

    });
    }


<div class="relevant_button" id="respective_I‌D" onclick="simplefunction(this.getAttribute('class'),this.id)"> 

答案 1 :(得分:0)

哟可以这样做

$('.contact_btn').click(function(){
    animate('contact');
});

function animate(id) {
    $('.modal').modal('hide');
    $('html, body').animate({
        scrollTop: $("#"+id).offset().top
    }, 1000);
}

它适用于你。