如何在Javascript中将大量变量传递给函数
如何将多个变量传递给javascript函数?我想简化我的代码。如果我必须为每个变量编写一个额外的函数,那就太长了。任何帮助都将不胜感激。多谢各位如何在Javascript中将大量变量传递给函数,javascript,html,Javascript,Html,如何将多个变量传递给javascript函数?我想简化我的代码。如果我必须为每个变量编写一个额外的函数,那就太长了。任何帮助都将不胜感激。多谢各位 jQuery(document).ready(function ($) { $('#item1').click(function () { $('html, body').animate({ scrollTop: $("#div1").offset().top }, 2000, function () {
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
您可以简单地使用jQueryindex()
方法获取单击的元素索引,并使用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);;
});
});