Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种方法可以合并jQuery函数,这些函数在不同的类和ID上执行相同的操作_Javascript_Jquery_Jquery Events - Fatal编程技术网

Javascript 有没有一种方法可以合并jQuery函数,这些函数在不同的类和ID上执行相同的操作

Javascript 有没有一种方法可以合并jQuery函数,这些函数在不同的类和ID上执行相同的操作,javascript,jquery,jquery-events,Javascript,Jquery,Jquery Events,我的守则如下: $('.contact_btn').click(function(){ $('.modal').modal('hide'); $('html, body').animate({ scrollTop: $("#contact").offset().top }, 1000); }); $('.insurance_btn').click(function(){ $('.modal').modal('hide'); $('

我的守则如下:

 $('.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。

函数simplefunction(classname,id){
  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)"> 
$('..+classname)。单击(函数(){ $('.modal').modal('hide'); $('html,body')。设置动画({ scrollTop:$(“#”+id).offset().top }, 1000); }); }
你可以这样做

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

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

这对您很有用。

如果我这样做,仍然意味着我必须编写三次代码。我不想那样做。我需要一个接受divs类并根据它进行操作的代码。比如说。那就是我试过的。如果有帮助,请检查我在下面的答案中留下的评论。我真的很感谢你在这方面的帮助,我可以看到这个答案真的很接近我想要实现的。哈哈,看起来很有趣。你能不能编辑一下,让它使用dosomething功能?这真的很有帮助,非常感谢你的帮助。我试过使用这个功能,但它不起作用。我忘记了在尝试这个函数之前保存js文件,我测试的是我以前的原始函数。我在onclick上附加了另一个函数,控制台在滚动到相应的id和close的top上抛出一个未定义的错误‌​e_modal function将函数名从这样一个乏味的名称更改为简单的名称,并查看编辑的代码,将id与类一起传递。只需创建一个接受类和id的函数,用相应的对称它三次。@Berji本质上这是我想要做的,但我对jQuery非常陌生,在实现这一点上遇到了很多困难。这与jQuery无关。它只是一个执行javascript代码(使用jQuery库)的javascript函数。@Bergi可耻的是,我不知道如何实现这一点。将重复的代码放在
函数名(){…}
,,然后为每个重复中不同的小事情添加参数,并使用这些变量而不是值。然后调用该函数。