Сообщение от 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);
}
}
}
});
}
}
});
}
}
Функция дергает данные для других блоков на этой же странице. но суть в том,что бегущая строка дергается даже,если я не пишу в нее ничего