Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как ускорить работу скрипта? Кнопки навигации медленно грузятся. 
:(
    Опции темы
Павел
  Дата 14.6.2005, 21:54 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я на своей страничке использую кнопки работающие со скриптом и меняющие цвет текста и цвет кнопки, но он очень медленно работает. Кнопка при наведении на неё мышки меняет своё состояние очень медленно с задержкой и наверное догружает новый рисунок кнопки с сайта.
Как этот процесс ускорить. Хочется чтобы страничка была всё таки красивой и быстро работала.
Подскажите пожалуйста.
  Вверх
Нурик Сакура
Дата 14.6.2005, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почти японец...
*


Профиль
Группа: Участник
Сообщений: 213
Регистрация: 17.12.2004
Где: Украина, Киев

Репутация: нет
Всего: 2



Увы, не знаю как это сделать, но, если я не ошибаюсь, тебе подгружать все рисунки сразу. То есть рисунки кнопки такой, какой она есть, и такие, которые будут при наведении мышки.
--------------------
- Приказы не обсуждаются!- Не объясняются и не выполняются. (с) фанфик на Hellsing
PM MAIL   Вверх
sergejzr
Дата 14.6.2005, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



http://forum.vingrad.ru/index.php?showtopic=47159

И пожалуйста, на будущее, постите вопросы подобного характера в раздел для начинающих smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Ciber SLasH
Дата 14.6.2005, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Вот совсем простенький пример:
Код

<html>
<head>
<script language='JavaScript'>
pics = new Array();

pics['BActive'] = new Image();
pics['BActive'].src = 'BannerActive.gif';

pics['BPassive'] = new Image();
pics['BPassive'].src = 'BannerPassive.gif';

pics['BPushed'] = new Image();
pics['BPushed'].src = 'BannerPushed.gif';
</script>
</head>

<body>
<a href='JavaScript: void(0)' onMouseOver="this.children[0].src = pics['BActive'].src" onMouseOut="this.children[0].src = pics['BPassive'].src" onMouseDown="this.children[0].src = pics['BPushed'].src" onMouseUp="this.children[0].src = pics['BActive'].src"><img src=BannerPassive.gif width=88 height=31 border=0></a>
</body>
</html>

работает в IE и Опере, в Лисе не пашет (нужно юзать ID).
PM   Вверх
sergejzr
Дата 14.6.2005, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Ciber SLasH, давай договоримся smile В давних традициях этого раздела - писать кроссбраузерные скрипты.
пусть так и остаётся. Лучше вообще код не публиковать, чем публиковать не работающий где либо smile

Как видно из поста у человека проблемы не подмене картинок, а в кэшировании оных.
По линьку, который я дал Сардар описывает, как динамически подгружать изображения.
В данном случае подойдёт обыкновенное кэширование, которое выполнится так:

Код

<body>

<!-- Создаём невидимый элемент, содержащий все нужные нам картинки-->
<div style="display:none;">
<img src="1.jpg">
<img src="2.jpg">
<!-- Так и выписываем сюда все картинки, которые смогут нам понадобится-->
<div>

<!-- Дальше - Ваш ХТМЛ код :) -->

</body> 



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Ciber SLasH
Дата 14.6.2005, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: 24
Всего: 67



Цитата(sergej @ 14.6.2005, 23:55)
Ciber SLasH, давай договоримся smile В давних традициях этого раздела - писать кроссбраузерные скрипты.

ОК, больше не буду. smile
PM   Вверх
Павел
Дата 15.6.2005, 23:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сделал как подсказали:

Код

<div style="display:none;">
<img src="IndexFiles/Ind.png" alt="" >
<img src="IndexFiles/Comp.png" alt="" >
<img src="IndexFiles/Ind_over.png" alt="" >
<img src="IndexFiles/Comp_over.png" alt="" >
</div>


Пробовал и внешние скрипты и вписывал скрипт в текст страницы, всё равно тормозит.
Прежде чем изменяется рисунок кнопки идет какая то дозагрузка с сайта.
Кнопки сделаны в формате PNG и имеют размер 300 максимум 500 байт.
Может я что то не так делаю.
Подскажите 100% работающий код или дайте ссылку, пожалуйста.

Это сообщение отредактировал(а) Aliance - 16.6.2005, 12:42
  Вверх
Знак
Дата 16.6.2005, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 29.4.2005

Репутация: нет
Всего: нет



как реализовать быстр. загрузку рисованых кнопок..

1 Можно сменить хостинг
2 Купить модем на 100 000 Кб\с
3 Сменить провайдера
4 Применить предварительную загрузку картинок на страничку
5 Применить более эффективное сжатие картинок
6 Избавиться от картинок и писать все в строчку..... букваим и ссылками

Фуу вроде все изложил что знал.



--------------------
Ищу 2 файлаowl.tchwindows.tch 
PM MAIL   Вверх
sergejzr
Дата 16.6.2005, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Ну тогда, код в студию!


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Aliance
Дата 16.6.2005, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Код нужно было первым делом дать.

Ciber SLasH
Предзагрузка не с массивом, а с объектом smile так лучше



PM MAIL WWW ICQ Skype   Вверх
Павел
Дата 16.6.2005, 19:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сайт на nm.ru, но при чём здесь хостинг и провайдер?
Скрипт должен работать и картинки предварительно загружаться.
Не пойму в чём дело.
Когда открываю такие же странички с других сайтов, с такими же скриптами и кнопками всё работает. Их же вписываю в свою, начинает тормозить. Почему всётаки происходит дозагрузка.
Пробовал даже чужие странички ставить, всё равно тормоз.
Почему картинки не кэшируются.
  Вверх
sergejzr
Дата 16.6.2005, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Дайте хотя бы ссылку на страницу...


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Знак
Дата 17.6.2005, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 29.4.2005

Репутация: нет
Всего: нет



Они что вообще не грузятся?

тебе нужен алгоритм или просто как это сделать? smile
--------------------
Ищу 2 файлаowl.tchwindows.tch 
PM MAIL   Вверх
Павел
Дата 18.6.2005, 00:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Картинки грузятся, но тормозит когда наводишь на них мышь и другая появляется с задержкой, т.к. идёт опять дозагрузка. Видимо не кэширует почему то.
Сделал такие же кнопки на апплете всё прекрасно работает, а на скрипте тормозит.
  Вверх
sergejzr
Дата 18.6.2005, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



 Вот пример. Обратите внимание, что верхние маленькие картинки с номерами не подгружаются. Поэтому она долго не появляется, а вот большие картинки подгружаются и показываются поэтому даже шустрее. просто покликайте по картинкам. CTRL+F5 очистит кэш от картинок для новых тестов.
Вот наружний линк на этот пример:
http://files.vingrad.ru/sergej.z/js/exampl...cs_ex/bild.html
[doHTML_g]
<iframe src="http://files.vingrad.ru/sergej.z/js/examples/pics_ex/bild.html" width="700" height="500"></iframe>
[/doHTML_g]

Вот код страницы:
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<div style="display:none;">
<img src="1.jpg" alt="" >
<img src="2.jpg" alt="" >
<img src="3.jpg" alt="" >
<img src="4.jpg" alt="" >
<img src="5.jpg" alt="" >
<img src="6.jpg" alt="" >
</div>

<img src="1.gif" id="test_image1" onclick="change()" alt="" ><br>
<img src="1.jpg" id="test_image2" onclick="change()" alt="" >
<script>
var img1=document.getElementById("test_image1");
var img2=document.getElementById("test_image2");
var cnt=1;
function change(img, end)
{

cnt%=6;
cnt++;
img1.src=cnt+'.gif';
img2.src=cnt+'.jpg';
}
</script>
</body>
</html>



Ещё вопрос, код свой  дадите, или так и будем с бубном вокруг прыгать?  smile  


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Павел
Дата 19.6.2005, 21:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код
<body bgcolor=#FFEAD5>
<img src="IndexFiles/1x1.gif" width=983 height=50><br>
<div style="display:none;">
<img src="IndexFiles/Ind.png" alt="" >
<img src="IndexFiles/Comp.png" alt="" >
<img src="IndexFiles/Mail.png" alt="" >
<img src="IndexFiles/Info.png" alt="" >
<img src="IndexFiles/Foto.png" alt="" >
<img src="IndexFiles/Pro.png" alt="" >
<img src="IndexFiles/Ind_over.png" alt="" >
<img src="IndexFiles/Comp_over.png" alt="" >
<img src="IndexFiles/Mail_over.png" alt="" >
<img src="IndexFiles/Info_over.png" alt="" >
<img src="IndexFiles/Foto_over.png" alt="" >
<img src="IndexFiles/Pro_over.png" alt="" ></div>

<script Webstyle4 src="IndexFiles/xsjog.js"></script>
</body>


Скрипт сделан в программе Xara Webstyle4

Код
//©Xara Ltd
var clicked="";
var gtype=".png";
var selstate="_over";
if (typeof(loc)=="undefined" || loc==""){
var loc="";
if (document.body&&document.body.innerHTML){
var tt=document.body.innerHTML;
var ml=tt.match(/["']([^'"]*)xsjog.js["']/i);
if(ml && ml.length > 1) loc=ml[1];
}
}
document.write("<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr>");
tr(false);
writeButton(loc+"../","index.html","Ind",90,16,"","",0);
writeButton(loc+"../","Project.html","Pro",90,16,"","",0);
writeButton(loc+"../","Comp.html","Comp",90,16,"","",0);
writeButton(loc+"../","Foto.html","Foto",90,16,"","",0);
writeButton(loc+"../","Mail.html","Mail",90,16,"","",0);
writeButton(loc+"../","Info.html","Info",90,16,"","",0);
writeButton(loc+"../","xsjog7.html","xsjog_b7",100,18,"Почта","",0);
tr(true);
document.write("</tr></table>");
loc="";
function tr(b){}
function turn_over(name) {
if (document.images != null && clicked != name) {
document[name].src = document[name+"_over"].src;
}
}

function turn_off(name) {if (document.images != null && clicked != name) {document[name].src = document[name+"_off"].src;}}function reg(gname,name){if (document.images){document[name+"_off"] = new Image();document[name+"_off"].src = loc+gname+gtype;document[name+"_over"] = new Image();document[name+"_over"].src = loc+gname+"_over"+gtype;}}function evs(name){ return " onmouseover=\"turn_over('"+ name + "')\" onmouseout=\"turn_off('"+ name + "')\""}function writeButton(urld,url,name,w,h,alt,target,hsp){gname=name;while(typeof(document[name])!="undefined")name+="x";reg(gname,name);tr(true);document.write("<td>");if(alt!="")alt=" alt=\""+alt+"\"";if(target!="")target=" target=\""+target+"\"";if(w>0)w=" width=\""+w+"\"";else w="";if(h>0)h=" height=\""+h+"\"";else h="";var l=clicked!=""||!isCurrentFile(url);if(url!="")url=" href=\""+urld+url+"\"";if(l){if(typeof(clx)!="undefined"){target="";url=" href=\"?"+clx+"\"";alt=" alt=\"Click to edit\"";}document.write("<a "+url+evs(name)+target+">");}else gname+=selstate;gname+=gtype;if(hsp==-1)hsp=" align=\"right\"";else if(hsp>0)hsp=" hspace=\""+hsp+"\"";else hsp="";document.write("<img src=\""+loc+gname+"\" name=\""+name+"\""+w+h+alt+hsp+" border=\"0\" />");if(l)document.write("</a>");document.write("</td>");tr(false);}function syncFile(f,nf){var matches='home.html*index.html*welcome.html*default.asp';var p=f.lastIndexOf('/');var sf=f;if(p>=0)sf=f.substr(p+1,f.length-1);if(matches.indexOf(sf)==-1)return "";return sf;}function isCurrentFile(str){var p=str.lastIndexOf(':');if(p>0)str=str.substr(p+1,str.length-1);str=escape(str);str=str.toLowerCase();while(str.length>3&&str.substring(0,3)=="../")str=str.substr(3,str.length-1);var fstr=str.indexOf(".htm");if(fstr==-1)fstr=str.indexOf(".asp");if(fstr==-1)fstr=str.indexOf(".php");if(fstr==-1)fstr=str.indexOf(".jsp");if(fstr==-1)fstr=str.indexOf(".txt");if(fstr<1&&str.charAt(str.length-1)!='/')str+="/";var current=document.location.href.toLowerCase();p=current.lastIndexOf('?');if(p>0)current=current.substr(0,p);var fcurrent=current.indexOf(".htm");if(fcurrent==-1)fcurrent=current.indexOf(".asp");if(fcurrent==-1)fcurrent=current.indexOf(".php");if(fcurrent==-1)fcurrent=current.indexOf(".jsp");if(fcurrent==-1)fcurrent=current.indexOf(".txt");if(fcurrent<1&&current.charAt(current.length-1)!='/')current+="/";if(fstr!=-1&&fcurrent==-1)current+=syncFile(str,current);if(fstr==-1&&fcurrent!=-1)str+=syncFile(current,str);var currsize=current.length;var strsize=str.length;while(strsize>=0&&currsize>=0){if(current.charAt(currsize)!=str.charAt(strsize))return false;currsize=currsize-1;strsize=strsize-1;}return true;}


Это сообщение отредактировал(а) Aliance - 24.6.2005, 12:20
  Вверх
Sardar
Дата 21.6.2005, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Павел, лучше скажи что тебе нужно конкретно, напишем. Разбирать чужой плохо читаемый код не хочеться, либо пройдись по нему любым форматером.




--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Aliance
Дата 24.6.2005, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Павел
Если ты думаешь, что мне приятно делать этот код удобочитаемым - то ты ошибаешься.
Сам попробуй, а то не красиво как-то выкладывать "такое" на всеобщее обозрение.
Уроме того у тебя ошибка в 10 строчке.
PM MAIL WWW ICQ Skype   Вверх
Павел
Дата 24.6.2005, 23:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Извини!
Но я так и не понял в чём моя ошибка и почему они всё-таки догружаются медленно.
  Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0626 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.