Простой вопрос
Здравствуйте!
Есть такой код: $( "#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, время: 10:47. |