Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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中将大量变量传递给函数_Javascript_Html - Fatal编程技术网

如何在Javascript中将大量变量传递给函数

如何在Javascript中将大量变量传递给函数,javascript,html,Javascript,Html,如何将多个变量传递给javascript函数?我想简化我的代码。如果我必须为每个变量编写一个额外的函数,那就太长了。任何帮助都将不胜感激。多谢各位 jQuery(document).ready(function ($) { $('#item1').click(function () { $('html, body').animate({ scrollTop: $("#div1").offset().top }, 2000, function () {

如何将多个变量传递给javascript函数?我想简化我的代码。如果我必须为每个变量编写一个额外的函数,那就太长了。任何帮助都将不胜感激。多谢各位

jQuery(document).ready(function ($) {

$('#item1').click(function () {
    $('html, body').animate({
        scrollTop: $("#div1").offset().top
    }, 2000, function () {
        revapi8.revcallslidewithid('item-11');;
    });
});

$('#item2').click(function () {
    $('html, body').animate({
        scrollTop: $("#div2").offset().top
    }, 2000, function () {
        revapi8.revcallslidewithid('item-12');;
    });
});

$('#item3').click(function () {
    $('html, body').animate({
        scrollTop: $("#div3").offset().top
    }, 2000, function () {
        revapi8.revcallslidewithid('item-13');;
    });
});
});

如果您的元素与问题中提供的元素相同。这种方法对你有用

jQuery(document).ready(function($) {
  var arr = [1,2,3]; //element iterator
  arr.forEach(function(item){
    $('#item' + item).click(function() {
      $('html, body').animate({
        scrollTop: $("#div" + item).offset().top
      }, 2000, function() {
        revapi8.revcallslidewithid('item-1' + item);;
      });
    });
  })
});

如果您的元素与问题中提供的元素相同。这种方法对你有用

jQuery(document).ready(function($) {
  var arr = [1,2,3]; //element iterator
  arr.forEach(function(item){
    $('#item' + item).click(function() {
      $('html, body').animate({
        scrollTop: $("#div" + item).offset().top
      }, 2000, function() {
        revapi8.revcallslidewithid('item-1' + item);;
      });
    });
  })
});

您可以使用
data-*
prefix-cutsom属性将任意数据与可以使用或属性访问的元素持久化

分配一个CSS类,即
,然后用于绑定事件处理程序

HTML


您可以使用
data-*
prefix-cutsom属性将任意数据与可以使用或属性访问的元素持久化

分配一个CSS类,即
,然后用于绑定事件处理程序

HTML


您可以简单地使用jQuery
index()
方法获取单击的元素索引,并使用
get()
方法获取相应的div元素。当然,这仅在可单击元素的数量等于要滚动到的div元素的数量时才起作用

这里有一个例子

var$body=$('html,body');
var$itemsWrap=$(“#items wrap”);
var$items=$itemsWrap.find('.item');
var$divs=$('[id^=“div”]');
$itemsWrap.on('click',函数(evt){
风险值指数=$items.index(evt.target);
$body.animate({scrollTop:$($divs.get(index)).offset().top},666);
});
html,正文{
最小高度:100%;
保证金:0;
}
div[id^=“div”]{
高度:100vh;
背景:番茄;
}

项目-1
项目-2
项目-3
第一组
第2组

div3
您可以简单地使用jQuery
index()
方法获取单击的元素索引,并使用
get()
方法获取相应的Div元素。当然,这仅在可单击元素的数量等于要滚动到的div元素的数量时才起作用

这里有一个例子

var$body=$('html,body');
var$itemsWrap=$(“#items wrap”);
var$items=$itemsWrap.find('.item');
var$divs=$('[id^=“div”]');
$itemsWrap.on('click',函数(evt){
风险值指数=$items.index(evt.target);
$body.animate({scrollTop:$($divs.get(index)).offset().top},666);
});
html,正文{
最小高度:100%;
保证金:0;
}
div[id^=“div”]{
高度:100vh;
背景:番茄;
}

项目-1
项目-2
项目-3
第一组
第2组

第3部分
您正在谈论的功能是什么?为什么不使用类将类似的事件附加到不同的元素上呢?为什么不将其作为数组或对象传递呢?最好的方法是使用对象,如
{name1:value1,name2:value2,name3:value3}
中所述,然后将该对象传递给函数。您正在谈论的是哪个函数?为什么不使用类将类似的事件附加到不同的元素?为什么不将其作为数组或对象传递呢?最好的方法是使用对象,如
{name1:value1,name2:value2,name3:value3}
中所述,然后将该对象传递给函数。
$('.item').click(function () {
    var div =  $(this).data('relatedDiv');//this.dataset.relatedDiv
    var item =  $(this).data('relatedItem');//this.dataset.relatedItem
    $('html, body').animate({
        scrollTop: $(div).offset().top
    }, 2000, function () {
        revapi8.revcallslidewithid(item);;
    });
});