roost Опубликовано 3 Декабря 2006 Жалоба Поделиться Опубликовано 3 Декабря 2006 Решил на своем форуме создать падающие снежинки, для этого нашел скрипт, немного подправил чтобы снежинки только в шапке падали и закинул гифку снежинки и сам скрипт в корень форума.Затем в настройках скина в колонтитулах сделал вызов этого скрипта. В IE все работает отлично, а вот в фоксе первая снежинка виснет в левом верхнем углу и все, больше ничего не происходит.Попробовал с тестовой страничкой, т.е просто создал пустую страницу типа test.html и между тэгами body вставил вызов скрипта - и в файрфоксе и в ие все работает нормально. В чем может быть дело? Версия форума 2.1.2 Текст скрипта:var no = 3; // snow number var dx, xp, yp; // coordinate and position variables var am, stx, sty; // amplitude and step variables var i, doc_width = 800, doc_height = 68; doc_width = 800;//document.body.clientWidth; doc_height = 68;//document.body.clientHeight; dx = new Array(); xp = new Array(); yp = new Array(); am = new Array(); stx = new Array(); sty = new Array(); for (i = 0; i < no; ++ i) { dx[i] = 0; // set coordinate variables xp[i] = Math.random()*(doc_width-50); // set position variables yp[i] = Math.random()*doc_height; am[i] = Math.random()*20; // set amplitude variables stx[i] = 0.02 + Math.random()/10; // set step variables sty[i] = 0.7 + Math.random(); // set step variables if (i == 0) { document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src=\"dot.gif\" border=\"0\"></div>"); } else { document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src=\"dot.gif\" border=\"0\"></div>"); } } function snow() { for (i = 0; i < no; ++ i) { // iterate for every dot yp[i] += sty[i]; if (yp[i] > doc_height-10) { xp[i] = Math.random()*(doc_width-am[i]-10); yp[i] = 10; stx[i] = 0.02 + Math.random()/10; sty[i] = 0.7 + Math.random(); doc_width = document.body.clientWidth; doc_height = 70;//document.body.clientHeight; } dx[i] += stx[i]; document.getElementById("dot"+i).style.top = yp[i]; document.getElementById("dot"+i).style.left = xp[i] +am[i]*Math.sin(dx[i]); } setTimeout("snow()", 30); } snow(); может кто сталкивался с такой проблемой? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 3 Декабря 2006 Жалоба Поделиться Опубликовано 3 Декабря 2006 При чем здесь Общие вопросы (по 2.1.x) ? По теме: лучше используй этот скрипт - http://forum.vingrad.ru/topic-76142.html Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
roost Опубликовано 4 Декабря 2006 Автор Жалоба Поделиться Опубликовано 4 Декабря 2006 По теме: лучше используй этот скрипт - http://forum.vingrad.ru/topic-76142.htmlа ты сам то пробовал этот скрипт на IPB прежде чем ссылку на него давать? он работает только в примерах, если вставляешь скрипт в колонтитулы, то не пашет хотя нет, в IE работает, а в фоксе нет - пришли к тому с чего начинали Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 4 Декабря 2006 Жалоба Поделиться Опубликовано 4 Декабря 2006 Если руки не кривые, он будет работать, поверь. Видимо, ты не разбираешься в том, как устроен JavaScript… Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
roost Опубликовано 5 Декабря 2006 Автор Жалоба Поделиться Опубликовано 5 Декабря 2006 руки кривые, никто не спорит. вот ты можешь объяснить почему в фоксе скрипт не работает, а в IE работает? или так и будем мои руки обсуждать? и повторюсь еще раз дело имхо не в скрипте, а в особенностях IPBпостараюсь еще раз описать подробнее как я пришел к такому выводу: 1. Тест на простой html-странице- беру любой из имеющихся скриптов (что с проверкой на браузер что без нее), картинки снежинок и сохраняю в произвольный каталог- создаю в этом же каталоге пустую страничку и между тэгами body вставляю вызов скрипта - все прекрасно работает и в IE и Firefox 2. Тест на форуме IPB- кидаю скрипт и картинки в корень форума- в админке захожу в настройки верхнего и нижнего колонтитулов текущего скина и вставляю вызов скрипта между тэгами body - в IE все работает, в Firefox нет 3. Еще один тест на форуме IPB- в админке захожу в настройки верхнего и нижнего колонтитулов текущего скина и вставляю сам текст скрипта - результат тот же: в IE работает, в Firefox нет ИМХО, тут дело не в скрипте Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 5 Декабря 2006 Жалоба Поделиться Опубликовано 5 Декабря 2006 Покажите мне форум, куда вы пытались вставить этот скрипт. Ну естественно, со вставленным скриптом или хотя бы с закомментированным тегом <script>. Не буду вдаваться в подробности, но в JS есть большая разница куда вставлять скрипт, в тег head или в тег body. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Garret Опубликовано 5 Декабря 2006 Жалоба Поделиться Опубликовано 5 Декабря 2006 Посмотри в ФФ JS консоль ошибок. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
roost Опубликовано 5 Декабря 2006 Автор Жалоба Поделиться Опубликовано 5 Декабря 2006 Aliance spbотписал в личку Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 5 Декабря 2006 Жалоба Поделиться Опубликовано 5 Декабря 2006 Вот этот скрипт у меня прекрасно работает в ИЕ 6.0 СП2, Mozilla FF 2.0 и Opera 9.0.2 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
roost Опубликовано 6 Декабря 2006 Автор Жалоба Поделиться Опубликовано 6 Декабря 2006 Aliance spbтак его я и использую! можешь дать ссылку на форум где запущен этот скрипт чтобы я посмотрел? кстати, по указанной тобой ссылке в фоксе 2.0 не работает Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 6 Декабря 2006 Жалоба Поделиться Опубликовано 6 Декабря 2006 У меня все работает:http://uploads.morgenshtern.com/uploads/snow.png Как его использовать? Открываете по этой ссылке страничку, нажимаете просмотр кода и копируете содержимое <script>, плосле чего вставляете себе его в тело документа. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
akura Опубликовано 6 Декабря 2006 Жалоба Поделиться Опубликовано 6 Декабря 2006 ...нажимаете просмотр кодa..это куда нажимать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 6 Декабря 2006 Жалоба Поделиться Опубликовано 6 Декабря 2006 В ИЕ это Вид - просмотр HTML кода (у меня это третье меню снизу)В ФФ это Ctrl+U или Вид - Исходный код страницы (у меня это второе меню снизу) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
akura Опубликовано 6 Декабря 2006 Жалоба Поделиться Опубликовано 6 Декабря 2006 В ИЕ это Вид - просмотр HTML кода (у меня это третье меню снизу)спасибо. в немецком IE это "текст источника" )) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
roost Опубликовано 6 Декабря 2006 Автор Жалоба Поделиться Опубликовано 6 Декабря 2006 спасибо всем за участие в решение проблемы! а особое гранмерси Garret'у за подсказку в каком направлении двигаться в общем воткнул я скрипт который указан у меня в первом сообщении и потом залез в эту консоль и увидел что валятся ошибки что не может распарсить значение для top и left. далее путем тыка определил что кусок кода document.getElementById("dot"+i).style.top = yp[i]; document.getElementById("dot"+i).style.left = xp[i] +am[i]*Math.sin(dx[i]); надо заменить на document.getElementById("dot"+i).style.top = yp[i] +"px"; document.getElementById("dot"+i).style.left = xp[i] +am[i]*Math.sin(dx[i]) +"px"; вот кто бы мог подумать! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Aliance spb Опубликовано 7 Декабря 2006 Жалоба Поделиться Опубликовано 7 Декабря 2006 Хех, тому, кто писал тогда этот скрипт по ушам надавать надо ) Не знать такого, это не уметь писать вообще Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.