Страницы: 1
уфф. Остановился на комбинированном варианте: Opera, Chrome, IE6 и 7 грузят начальный вариант, а Firefox и IE8 - iframe (спасибо Lynn навел на мысль).
[spoiler]function anistart() {
var cont=document.getElementById('anicc');
if (cont && !(navigator.userAgent.toLowerCase().indexOf("firefox") != -1)
&& !(navigator.userAgent.toLowerCase().indexOf("msie 8") != -1)) {
var nar=[[],[],[]]; /* id, новость, обновление */
var tmp='';
cont.innerHTML='<div id="anic"><pre id="ani"></pre></div><img id="anifgl" src="/img/anifg_l.png" alt="" /><img id="anifgr" src="/img/anifg_r.png" alt="" />';
var el=cont.firstChild.firstChild; /* переходим к элементу ani */
var w=-1; /* длина части в px, которая должна уйти влево для нового витка */
var nl=0;
function newschk (xmldoc) {
var news = xmldoc.getElementsByTagName('item'); /* получаем список новостей .documentElement */
var id,p,fl;
var narid=[];
var s={'Jan':'янв','Feb':'фев','Mar':'мар','Apr':'апр','May':'май','J
Мда, прочитал. В качестве решения предлагается забить.
Попробовал ставить строку в iframe. Ага. Опера и Хром как обычно показывают, ФФ как обычно нет.
cont=cont.firstChild.contentWindow.document /* (или contentDocument) */;
var el=cont.getElementsByTagName('head')[0];
tmp.innerHTML='<link rel="stylesheet" type="text/css" href="css/ani.css" />';
el.appendChild(tmp.firstChild);
el=cont.getElementsByTagName('body')[0];
tmp.innerHTML='<div id="ani">test</div>';
el.appendChild(tmp.firstChild);
el=el.firstChild; /* переходим к элементу ani */
var w=-1; /* длинна части в px, которая должна уйти влево для нового витка */
var nl=0;
вполне работоспособный и не тормозящий скрипт,который можно подправить под свои нужды.
Угу, этот "не тормозящий" скрипт грузит мой проц на 100% (с учетом других задач - ~80). А странице он конечно же тормозит сильнее, что впрочем не удивительно - он работает точно также как и мой, только использует дополнительно ЖКвери, а значит работает медленнее.
Вообще тормозит скорее не скрипт а перерисовка.
Ага :) И тормозит она в частности из-за того, что ФФ перерисовывает всю область экрана, а не только изменившуюся.
Для начала можно увеличить интервал отрисовки с 50 до 150мс, например
Можно вообще строку убрать) Если бы меня устроили настолько дискретные перемещения, я бы не спрашивал.
ссылка для чтения: http://chikuyonok.ru/2010/11/optimization-story/
Спасибо, изучу.
…1) большинством браузеров поддерживается,какой смысл изгаляться?
2)я конечно не спец по жабоскрипту но даже мне видно что скрипт уж больно мудрёный и главное куча регекспов которые как известно тормозят, вобщем простой поиск выдал четвертой ссылкой
http://www.gcmingati.net/wordpress/wp-content/lab/jquery/newsticker/jq-liscroll/scrollanimate.html
вполне работоспособный и не тормозящий скрипт,который можно подправить под свои нужды.
1) При чем здесь браузеры вообще?
2) И пост вы тоже видать не читали, потому что там очень четко и понятно написано, что повторяются (т.е. тормозят) только две строчки кода, в которых никаких регулярок нет (собственно их там всего две штуки).
Ну и простым поиском я вполне умею пользоваться, раз написал код в котором вы с ходу не смогли разобраться, хотя там 70 строк и комментарии на русском)
А на счет ЖКвари - я пробовал это
Есть скрипт бегущей строки (ну нужен) в которой "бегут" html теги со стилями.
Это все работает. Но если в Опере, Хроме, IE6(!) и IE7 это работает с нормальной (удовлетворительной) скоростью, то в Firefox 3.6 и IE8 скрипт выдает не FPS, а SPF, т.е. дико торомзит.
Я заоптимиризовал всё что можно, хотя это мало (никак не) сказалось на скорости работы.
Может есть какое-то интересное решение для FF? Или он как-то особенно понимает некоторые команды JS?
Я понимаю, что проблема может быть решена в FF4, но ждать пока все с 3.6 перейдут на него не получается.
Собсвтенно скрипт:
[spoiler]function anistart() {
var nar=[[],[],[]];
var tmp='';
var el=document.getElementById('anicc'); /* Контейнер, в который мы записываем содержимое после загрузки страницы. В т.ч. и перемещающийся блок ani */
el.innerHTML='<div id="anic"><pre id="ani"></pre></div><img id="anifgl" src="/img/anifg_l.png" alt="" /><img id="anifgr" src="/img/anifg_r.png" alt="" />';
var el=el.firstChild.firs
Страницы: 1