Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вывести число по возрастанию до определенного максимума (https://javascript.ru/forum/misc/39070-kak-vyvesti-chislo-po-vozrastaniyu-do-opredelennogo-maksimuma.html)

kenzhik 14.06.2013 10:18

Как вывести число по возрастанию до определенного максимума
 
Добрый день, Форумчане!
Сперва напишу отрывок кода чтобы было понятнее. Код из моего слайдера:
$('#indexSlider .left').on('click', function() {
        var clAct = $('#indexSlider .blocks.active').data('info');
       for (var i = 1; i <= 4; i++) {
        $('#indexSlider .blocks').removeClass('active');        
        $(this).parents('#indexSlider').removeClass(clAct).addClass('act-post-'+i);
        $('#indexSlider .blockset-'+i).addClass('active');
       }   
    });

У меня из этого кода получается:
...       
        $(this).parents('#indexSlider').removeClass(clAct).addClass('act-post-'+1234);
        $('#indexSlider .blockset-'+1234).addClass('active');
...


А мне нужно, чтобы при каждом клике выводило одно число по возрастанию. Примерно так:
клик 1:
...
        $(this).parents('#indexSlider').removeClass(clAct).addClass('act-post-'+1);
        $('#indexSlider .blockset-'+1).addClass('active');
...

клик 2:
...      
       $(this).parents('#indexSlider').removeClass(clAct).addClass('act-post-'+2);
        $('#indexSlider .blockset-'+2).addClass('active');
...

и так далее до 4-го клика...

Deff 14.06.2013 10:25

var blksetNum = 0
var max = 4
$('#indexSlider .left').on('click', function() {blksetNum++;
        if(blksetNum>4) blksetNum=1; //Ежели гоняем по кольцу
        var clAct = $('#indexSlider .blocks.active').data('info');
        $('#indexSlider .blocks').removeClass('active');        
        $(this).parents('#indexSlider').removeClass(clAct).addClass('act-post-'+blksetNum);
        $('#indexSlider .blockset-'+blksetNum).addClass('active');
    });

рони 14.06.2013 10:38

kenzhik,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
 <script>
    $(function () {
     var  i = 0;
       $('#indexSlider').on('click', function() {
         alert(i++%4+1);
       })
  })
 </script>
</head>

<body>
    <input id = "indexSlider" type="button" value="test">
</body>
</html>

kenzhik 14.06.2013 11:25

Deff, рони,
Большое Вам человеческое спасибо! :thanks:
рони, Ваш вариант тоже как вариант хорош, но мне полностью подошел ответ Deff.
Deff, копировал и вставил Ваш вариант и все заработала. :)
Вопрос не к тему(извиняюсь): Можно ли после написать ссылку на то что у меня получилось(страница сайта)?

рони 14.06.2013 11:53

Цитата:

Сообщение от kenzhik
Можно ли после написать ссылку на то что у меня получилось(страница сайта)?

угу :)

kenzhik 14.06.2013 13:28

Держите тогда, вот ссылка на страницу:
http://beta.laic.kz/ru/dopinfo

Ваш скрипт применил в блоке "Годовая отчетность"


Часовой пояс GMT +3, время: 15:07.