Простой вопрос
Здравствуйте!
Есть такой код:
$( "#open1" ).click(function() {
$( "#content1" ).fadeIn( "slow", function() {
});
});
$( "#open2" ).click(function() {
$( "#content2" ).fadeIn( "slow", function() {
});
});
$( "#open3" ).click(function() {
$( "#content3" ).fadeIn( "slow", function() {
});
});
Я хотел его немного сократить ибо подобных копий нужно порядком. Пробовал так но почему то не работает. Не могу понять почему.
for (count = 0; count < 5; count++){
var open = $("#open" + count);
var content = $("#content" + count);
mark.click(function() {
content.fadeIn( "slow", function() {
});
});
}
Помогите пожалуйста понять где я ошибся. |
Цитата:
|
По моему вы забыли в условии цикла объявить переменную.
Попробуйте добавить var:
for (var count = 0; count < 5; count++){
Я сам такое часто упускаю и у меня сначала всё работает, а после бабеля и минификации всё ломается. |
MC-XOBAHCK,
после цикла элементов в указанных переменных не существует, это основная проблема. |
Цитата:
|
Biotoxsin,
один из множества вариантов ... через классы
$(function() {
var open = $(".open"), content = $( ".content" );
open.click(function() {
var i = open.index(this);
content.eq(i).fadeIn()
})
});
|
Biotoxsin,
или так
$(function() {
for (let count = 0; count < 5; count++){
let open = $("#open" + count);
let content = $("#content" + count);
open.click(function() {
content.fadeIn( "slow", function() {
});
});
}
});
|
Biotoxsin,
$(function() {
var open = $("[id^=open]"), content = $( "[id^=content]" );
open.each(function(i) {
var el = content.eq(i);
$(this).click(function() {
el.fadeIn()
})
})
});
|
Цитата:
|
| Часовой пояс GMT +3, время: 22:14. |