Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2013, 14:33
Новичок на форуме
Отправить личное сообщение для nikolaygrand Посмотреть профиль Найти все сообщения от nikolaygrand
 
Регистрация: 28.01.2013
Сообщений: 8

Бегущая строка динамическое обновление
Подскажите можно ли динамически менять содержимое бегущей строки? Я использую готовый скрипт jquery-webticker. Ежесекундно данные тянутся с сервера (котировки акций). Так вот, строка бежит какими-то рывками как раз в 1 сек. происходит рывок.
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2013, 15:57
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

конечно можно
код покажите.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2013, 17:06
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Погружать в LocalStorage, проверять переполнение стека,выкидывая самые ранние, и крутить данные по кругу
Ответить с цитированием
  #4 (permalink)  
Старый 01.02.2013, 08:05
Новичок на форуме
Отправить личное сообщение для nikolaygrand Посмотреть профиль Найти все сообщения от nikolaygrand
 
Регистрация: 28.01.2013
Сообщений: 8

Сообщение от DjDiablo Посмотреть сообщение
конечно можно
код покажите.
Вот эту функцию я дергаю ежесекундно, она с помощью ajax получает данные и id блоков куда данные вставлять нужно. А в самой бегущей строке код приблизительно такой:
<ul>
<li instrument-id='1'>автомобильный завод 1| цена: <span class='price'></span>(руб.) доходность: <span class='up'></span>%</li>
<li instrument-id='2'>автомобильный завод 2 | цена: <span class='price'></span>(руб.) доходность: <span class='up'></span>%</li>
</ul>

function updatePriceGrouth()
{
 var result,
    instrumrnt_id_arr = [],
    instrumrnt_id,
    second_instrument_id,
    i=0;
  $("div.control," +
    "div.request-info").each(function(){
      if ($(this).parent().parent().is(":visible") && $.inArray(parseInt($(this).attr("data-instrument-id")),instrumrnt_id_arr) == -1)
        instrumrnt_id_arr.push(parseInt($(this).attr("data-instrument-id")));
      instrumrnt_id = $(this).attr("data-instrument-id");
      if ($(this).attr("second-instrument-id") != undefined)
        instrumrnt_id_arr.push($(this).attr("second-instrument-id"));

  });
  if (instrumrnt_id_arr.length > 0) {
    $.getJSON('/instrument/allshortinfo?instrumentID=' + instrumrnt_id_arr.join(','), function(data)
    {
       //console.log(data);
      var interface_panel,
          request_info,
          small_card_list,
          portfel,
          favorite,
          report,
          row,
          block_up,
          avg_dohod = 0,
          avg_dohod_rub = 0,
          count = 0;
        for (key in data) {
          row = data[key];
          interface_panel = $("div.interface");
          request_info = $("div.request-info");
          small_card_list = $("div.small-instrument-card-list");
          portfel = $("table.info-table");
          report = $("table.report-table");
          favorite = $("table.favorite-table");

          if (interface_panel.length > 0 && interface_panel.find("div.more-level5.control[data-instrument-id="+key+"]").length > 0) {
             interface_panel.find("div.more-level3 div.input-like span.price").text(row.Price);
             block_up = interface_panel.find("div.more-level3 div.input-like span.up:first");

            var doh_rub = parseFloat(row.GrowthDaily * row.Price /1000);

            if (portfel != undefined) {

              var block_month,
                block_year;

              block_month = interface_panel.find("span.up").next("div.info-block").find("div.info-block-row:first").find("span.up");
              block_year = interface_panel.find("span.up").next("div.info-block").find("div.info-block-row:last").find("span.up");

              if (parseFloat(row.GrowthMonthly) < 0) {
                block_month.addClass("red-value");
                block_month.html(row.GrowthMonthly);
              } else {
                block_month.removeClass("red-value");
                block_month.html("+" + row.GrowthMonthly);
              }

              if (parseFloat(row.GrowthYearly) < 0) {
                block_year.addClass("red-value");
                block_year.html(row.GrowthYearly);
              } else {
                block_year.removeClass("red-value");
                block_year.html("+" + row.GrowthYearly);
              }

            }

            if (doh_rub.toFixed(2) < 0) {
              interface_panel.find("span.up.rub").addClass("red-value");
              interface_panel.find("span.up.rub").html(doh_rub.toFixed(3));
            } else {
              interface_panel.find("span.up.rub").removeClass("red-value");
              interface_panel.find("span.up.rub").html("+" + doh_rub.toFixed(3));
            }

            if (parseFloat(row.GrowthDaily) < 0) {
              block_up.addClass("red-value");
              block_up.html(row.GrowthDaily);

            } else {
              block_up.removeClass("red-value");
              block_up.html("+" + row.GrowthDaily);
            }

          }

       

          if (small_card_list.length > 0) {
              small_card_list.each(function(){
                  if ($(this).find("div.control[data-instrument-id="+key+"]")) {
                    var prev_elem = $(this).find("div.control[data-instrument-id="+key+"]").prev("div.main-info");
                    prev_elem.find("span.price").text(row.Price.toFixed(3));
                    if (parseFloat(row.GrowthDaily) < 0) {
                      prev_elem.find("span.up").addClass("red-value");
                      prev_elem.find("span.up").text(row.GrowthDaily.toFixed(3));
                    } else {
                      prev_elem.find("span.up").removeClass("red-value");
                      prev_elem.find("span.up").text("+" + row.GrowthDaily.toFixed(3));
                    }

                    if (prev_elem.find("span.up").next("div.info-block")) {
                      var block_month,
                          block_year;

                      block_month = prev_elem.find("span.up").next("div.info-block").find("div.info-block-row:first").find("span.up");
                      block_year = prev_elem.find("span.up").next("div.info-block").find("div.info-block-row:last").find("span.up");

                      if (parseFloat(row.GrowthMonthly) < 0) {
                        block_month.addClass("red-value");
                        block_month.html(row.GrowthMonthly);
                      } else {
                        block_month.removeClass("red-value");
                        block_month.html("+" + row.GrowthMonthly);
                      }

                      if (parseFloat(row.GrowthYearly) < 0) {
                        block_year.addClass("red-value");
                        block_year.html(row.GrowthYearly);
                      } else {
                        block_year.removeClass("red-value");
                        block_year.html("+" + row.GrowthYearly);
                      }

                    }

                  }

              });
          }
        }
    });

  }
}

Функция дергает данные для других блоков на этой же странице. но суть в том,что бегущая строка дергается даже,если я не пишу в нее ничего

Последний раз редактировалось nikolaygrand, 01.02.2013 в 08:08.
Ответить с цитированием
  #5 (permalink)  
Старый 01.02.2013, 08:51
Новичок на форуме
Отправить личное сообщение для nikolaygrand Посмотреть профиль Найти все сообщения от nikolaygrand
 
Регистрация: 28.01.2013
Сообщений: 8

Сообщение от Deff Посмотреть сообщение
Погружать в LocalStorage, проверять переполнение стека,выкидывая самые ранние, и крутить данные по кругу
Пробовал не помогло. Проблема видимо в большом кол-ве данных получаемых после ajax запроса... Убрал setInterval для функции получения данных и строка пошла без тормозов. я получаю данные через getJSON может в этом дело?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бегущая строка на Jquery noosfera jQuery 10 19.11.2012 17:10
Предполагается наличие ';' в IE7- FINoM (X)HTML/CSS 5 25.08.2012 16:05
load и динамическое обновление страницы IONEX AJAX и COMET 12 08.07.2012 20:57
Бегущая строка kali4st Ваши сайты и скрипты 10 18.12.2009 15:39
Необходима бегущая строка: непрерывная, снизу вверх Garaeva_Gulnara Элементы интерфейса 3 30.10.2009 18:25