Javascript jquery循环单击事件不发生';t与等式(i)一起工作
我正在尝试将点击事件添加到6个按钮中,这些按钮将切换幻灯片6个不同的内容(按顺序)。 所以基本上我点击按钮1,内容1会向上/向下滑动,等等。 我在下面创建了代码,但我不知道如何循环它以使其更简单和有效 不带循环的工作代码:Javascript jquery循环单击事件不发生';t与等式(i)一起工作,javascript,jquery,Javascript,Jquery,我正在尝试将点击事件添加到6个按钮中,这些按钮将切换幻灯片6个不同的内容(按顺序)。 所以基本上我点击按钮1,内容1会向上/向下滑动,等等。 我在下面创建了代码,但我不知道如何循环它以使其更简单和有效 不带循环的工作代码: var dropdownButtons = $('div[class*="_dropdown_but"]'); var dropdownContents = $('div[class*="_dropdown_content"]');
var dropdownButtons = $('div[class*="_dropdown_but"]');
var dropdownContents = $('div[class*="_dropdown_content"]');
dropdownButtons.eq(0).click(function() {
dropdownContents.eq(0).slideToggle();
});
dropdownButtons.eq(1).click(function() {
dropdownContents.eq(1).slideToggle();
});
dropdownButtons.eq(2).click(function() {
dropdownContents.eq(2).slideToggle();
});
dropdownButtons.eq(3).click(function() {
dropdownContents.eq(3).slideToggle();
});
dropdownButtons.eq(4).click(function() {
dropdownContents.eq(4).slideToggle();
});
dropdownButtons.eq(5).click(function() {
dropdownContents.eq(5).slideToggle();
});
for (i = 0; i < dropdownButtons.length; i++) {
dropdownButtons.eq(i).click(function() {
dropdownContents.eq(i).slideToggle();
});
}
我尝试使用FOR循环,但它不起作用,并且显示为无错误
我创建的循环无效:
var dropdownButtons = $('div[class*="_dropdown_but"]');
var dropdownContents = $('div[class*="_dropdown_content"]');
dropdownButtons.eq(0).click(function() {
dropdownContents.eq(0).slideToggle();
});
dropdownButtons.eq(1).click(function() {
dropdownContents.eq(1).slideToggle();
});
dropdownButtons.eq(2).click(function() {
dropdownContents.eq(2).slideToggle();
});
dropdownButtons.eq(3).click(function() {
dropdownContents.eq(3).slideToggle();
});
dropdownButtons.eq(4).click(function() {
dropdownContents.eq(4).slideToggle();
});
dropdownButtons.eq(5).click(function() {
dropdownContents.eq(5).slideToggle();
});
for (i = 0; i < dropdownButtons.length; i++) {
dropdownButtons.eq(i).click(function() {
dropdownContents.eq(i).slideToggle();
});
}
for(i=0;i
我试着用不同的方式写“eq(I)”,比如“eq(+I+)”或“eq(+'I'+)”或“eq(+'I++')”,但没有任何改变。在JavaScript中声明变量时,变量的作用域是
函数
它们是在函数
中创建的,或者如果它们在函数
之外,它们就存在于全局范围内
创建函数
时,该函数将继承父范围中的变量
当您在for
循环的内部创建函数时,该函数将从父作用域继承i
,当您单击任何下拉按钮时,i
将增加到下拉按钮。长度
为了解决i
的这个问题,您应该在声明i
之前添加let
,这将使i
的作用域成为for
块,而不是全局
作用域。继承i
的任何函数都将具有i
的副本,而不是原始的i
for(设i=0;i
在JavaScript中声明变量时,变量的作用域为函数
,它们是在函数
中创建的,或者如果它们在函数
之外,则它们存在于全局作用域中
创建函数
时,该函数将继承父
范围中的变量
当您在for
循环的内部创建函数时,该函数将从父作用域继承i
,当您单击任何下拉按钮时,i
将增加到下拉按钮。长度
为了解决i
的这个问题,您应该在声明i
之前添加let
,这将使i
的作用域成为for
块,而不是全局
作用域。继承i
的任何函数都将具有i
的副本,而不是原始的i
for(设i=0;i
是\u dropdown\u content
靠近\u dropdown\u但是吗?我的意思是有任何位置关系,因为在这种情况下,你不需要循环。显示您的html结构可以帮助我们知道它是\u dropdown\u content
靠近\u dropdown\u但是?我的意思是有任何位置关系,因为在这种情况下,你不需要循环。显示html结构可以帮助我们了解这一点