Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2016, 13:50
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Массивы jquery
Есть код
<div id="pager_slider">
            <section class="page1">
            </section>
            <section class="page2">
            </section>
            <section class="page3">
              <h2>Grafic Design3</h2>
              <p class="b_text"></p>
              <p class="s_text"> </p>
            </section>
            <section class="page4">
            </section>
          </div>
<div id="progress_bar">
          <div id="circles">
            <div class="circle">
              <strong></strong>
            </div>
          </div>
          <div class="circle">
            <strong></strong>
          </div>
          <div class="circle">
            <strong></strong>
          </div>
        </div>


$(function(){
        $('#pager_slider').cycle({
        fx: 'scrollDown',
        timeout: 0,
        speed: 1000,
        easing: 'easeOutCubic',
        pager: '#nav_slider'
    });
    $(document.body).on("click", "#nav_slider a[href^='#']", function(){
      $('#nav_slider a').addClass('noActive').removeClass('activeSlide');
      $(this).addClass('activeSlide').removeClass('noActive');
    });
    $('#nav_slider a').addClass('detailsIcon').text('');
});


// circle progressbar for our_services

$(function(){
  var c4 = $('.circle');

  c4.circleProgress({
      startAngle: -Math.PI /2 * 8 ,
      lineCap: 'round',
      value: c4.data("value"),
      thickness: 4,
      fill: {color: '#19bd9a' },
      emptyFill: 'rgba(4, 115, 120, 1)'
  }).on('circle-animation-progress', function(event, progress, stepValue) {
    $(this).find('strong').text((100 * stepValue).toFixed(0) + '%');
  });
});

var progressBarArray1 = ["0.75","0.36","0.21"]
var progressBarArray2 = ["0.25","0.43","0.33"]
var progressBarArray3 = ["0.40","0.75","0.54"]
var progressBarArray4 = ["0.75","0.78","0.46"]


Как сделать, чтобы по клику в навигации, загружались к div.circle добавлялся атрибут data-value и загружались элементы из массива.
Т.е я нажимаю на первую кнопку в nav он загружает из первого массива значения и расставляет к первому элементу с классом circle первый элемент массива, ко второму второй, к третьему третий

Последний раз редактировалось Artem_A, 25.01.2016 в 14:08.
Ответить с цитированием
  #2 (permalink)  
Старый 25.01.2016, 15:08
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

Artem_A,
а если на вторую кнопку в nav нажали , то как должно быть?
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2016, 15:14
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Mess4me,
из второго массива загружаются элементы и вставляются таким же образом
Ответить с цитированием
  #4 (permalink)  
Старый 25.01.2016, 15:43
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

Artem_A,
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<nav id="nav">
    <ul>
        <li>First</li>
        <li>Second</li>
        <li>Third</li>
    </ul>


</nav>

<div id="pager_slider">
    <section class="page1">
    </section>
    <section class="page2">
    </section>
    <section class="page3">
        <h2>Grafic Design3</h2>
        <p class="b_text"></p>
        <p class="s_text"> </p>
    </section>
    <section class="page4">
    </section>
</div>
<div id="progress_bar">
    <div id="circles">
        <div class="circle">
            <strong></strong>
        </div>
    </div>
    <div class="circle">
        <strong></strong>
    </div>
    <div class="circle">
        <strong></strong>
    </div>
</div>

<script>
    $(function(){
/*
        $(document.body).on("click", "#nav_slider a[href^='#']", function(){
            $('#nav_slider a').addClass('noActive').removeClass('activeSlide');
            $(this).addClass('activeSlide').removeClass('noActive');
        });
        $('#nav_slider a').addClass('detailsIcon').text('');*/
        
        
    });

    var progressBarArray1 = ["0.75","0.36","0.21"];
    var progressBarArray2 = ["0.25","0.43","0.33"];
    var progressBarArray3 = ["0.40","0.75","0.54"];
    var progressBarArray4 = ["0.75","0.78","0.46"];

    var progressBarArrays = [progressBarArray1,progressBarArray2,progressBarArray3,progressBarArray4];

    // circle progressbar for our_services

    $(function(){
        var circles = $('.circle');
        var lis = $('#nav li');
        lis.on('click', function (li) {
            var  inx = $(this).index();
            var i =0;
            [].forEach.call(circles, function (el) {
                 $(el).attr('data-value',progressBarArrays[inx][i++])
            });
        })
    });



</script>



</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 25.01.2016, 15:57
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Mess4me,
Да! он добавляет данные масива как надо, но в прогресс баре нет изменений 0% стоит

var progressBarArray1 = ["0.75","0.36","0.21"];
   var progressBarArray2 = ["0.25","0.43","0.33"];
   var progressBarArray3 = ["0.40","0.75","0.54"];
   var progressBarArray4 = ["0.75","0.78","0.46"];

   var progressBarArrays = [progressBarArray1,progressBarArray2,progressBarArray3,progressBarArray4];

$(function(){
  var circles = $('.circle');
  var lis = $('#nav_slider a');
  lis.on('click', function (a) {
    var  inx = $(this).index();
    var i =0;
    [].forEach.call(circles, function (el) {
      $(el).attr('data-value',progressBarArrays[inx][i++])
    });
  });

  circles.circleProgress({
      startAngle: -Math.PI /2 * 8 ,
      size: 130,
      lineCap: 'round',
      value: circles.data("value"),
      thickness: 4,
      fill: {color: '#19bd9a' },
      emptyFill: 'rgba(4, 115, 120, 1)'
  }).on('circle-animation-progress', function(event, progress, stepValue) {
    $(this).find('strong').text((100 * stepValue).toFixed(0) + '%');
  });
});
Ответить с цитированием
  #6 (permalink)  
Старый 25.01.2016, 15:58
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Mess4me,
и чтобы первый массив загружался когда я мышкой доскролю до прогресс бара) Это возможно?

Последний раз редактировалось Artem_A, 25.01.2016 в 16:08.
Ответить с цитированием
  #7 (permalink)  
Старый 25.01.2016, 16:37
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Mess4me,
У вас есть идеи?
Ответить с цитированием
  #8 (permalink)  
Старый 25.01.2016, 16:40
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Mess4me,
Вот доки, если что

https://github.com/kottenator/jquery-circle-progress
Ответить с цитированием
  #9 (permalink)  
Старый 25.01.2016, 16:59
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Mess4me,
Чтобы он запускался, когда до него скролишь я сделал
но так как значения не загружаются из первого массива при загрузки, то получаются 0% в прогрессбаре, и нажимая все равно прогресс бар не меняется, хотя атрибут data-value меняется
Ответить с цитированием
  #10 (permalink)  
Старый 25.01.2016, 17:11
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

Artem_A,
Сообщение от Artem_A
 value: circles.data("value"),
здесь проверяли , значение правильно получается ?!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический подсчет в таблице muraig jQuery 5 11.10.2014 16:54
Массивы в jquery Modelfak jQuery 5 10.07.2014 23:48
Массивы в jQuery lev-otinov jQuery 1 24.09.2013 18:48
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
jquery validator и массивы чекбоксов ekkl jQuery 1 16.10.2009 16:26