|
|
08.11.2007, 15:41
|
|
bobmp
Бобылев Максим Петрович
Зарегистрирован: 2006-01-26
Сообщений: 51
|
не нашел на форуме. неужели ни у кого не возникала такая ситуация - когда меню делалось с помощью картинок меняющихся по onMouseOver (я имеею ввиду стандартный функционал "активный и неактивный элемент меню %img и %Pic) и нужно эти картинки при загрузке страницы закэшировать (чтобы не прыгали при наведении мыши)?
может кто делал и расскажет способ?
|
|
|
09.11.2007, 07:11
|
|
resident
Веб-группа «Дабл Ю»
Зарегистрирован: 2005-01-10
Сообщений: 336
|
чес слово к неткату это не относится
|
|
|
09.11.2007, 09:18
|
|
Гость
Гость
|
JavaScript и DHTML forever
|
|
|
14.11.2007, 11:04
|
|
Гость
Гость
|
Да что вы говорите
может я не совсем внятно написал, но меня интересует не JS и DHTML код, а как закэшировать именно картинки из которых строится меню с помощью %Pic и %img.
Т.е. если имеем JS ф-цию CacheImages(IMAGE), то что у нее будет в параметрах?
В html я бы через запятую перечислил бы нужные картинки, а как это сделат в NC. У меня есть мысля - обращаться напрямую к базе, но мне она кажется не достаточно "изящной" - IMHO есть более красивый способ.
|
|
|
14.11.2007, 19:10
|
|
h/z
Зарегистрирован: 2007-02-06
Сообщений: 755
|
приведите здесь код который вы хотите использовать, и я вам подскажу как с помощью НетКет заполнить все необходимые JS массивы
|
|
|
14.11.2007, 23:46
|
|
bobmp
Бобылев Максим Петрович
Зарегистрирован: 2006-01-26
Сообщений: 51
|
вот к примеру код от DW. Вместо menu_image1 и тд нужно подставить имена файлов картинок.
Этого можно достичь обратившись к таблице в которой описаны разделы, выдернуть оттуда ссылку на записи в таблице Files и уже оттуда взять имена файлов. Но IMHO есть способ проще.
<script language="JavaScript1.2" type="text/javascript">
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}
</script>
<body onLoad="MM_preloadImages('menu_image1','menu_image2')">
|
|
|
15.11.2007, 10:52
|
|
h/z
Зарегистрирован: 2007-02-06
Сообщений: 755
|
Код:
$template_menu_preloadimg[0][prefix] = "";
$template_menu_preloadimg[0][suffix] = "";
$template_menu_preloadimg[0][active] = "'$data[$i][img]'";
$template_menu_preloadimg[0][active_link] = "'$data[$i][img]'";
$template_menu_preloadimg[0][unactive] = "'$data[$i][img]'";
$template_menu_preloadimg[0][divider] = ",";
$template_menu_preloadimg[1][prefix] = "";
$template_menu_preloadimg[1][suffix] = "";
$template_menu_preloadimg[1][active] = "'$data[$i][Pic]'";
$template_menu_preloadimg[1][active_link] = "'$data[$i][Pic]'";
$template_menu_preloadimg[1][unactive] = "'$data[$i][Pic]'";
$template_menu_preloadimg[1][divider] = ",";
<body onLoad="MM_preloadImages(".s_browse_sub(sub,$template_menu_preloadimg[0]).",".s_browse_sub(sub,$template_menu_preloadimg[1]).")">
|
|
|
18.11.2007, 21:26
|
|
Гость
Гость
|
Фэнкс, именно про это я и говорил!
|
|
|
23.11.2007, 13:42
|
|
bobmp
Бобылев Максим Петрович
Зарегистрирован: 2006-01-26
Сообщений: 51
|
не работает
вот что выдает:
<body onLoad="MM_preloadImages('[img]','[Pic]')">
т.е. перечисления использованных картинок так и нету
|
|
|
23.11.2007, 15:27
|
|
h/z
Зарегистрирован: 2007-02-06
Сообщений: 755
|
напрягаем мозг
например:
$template_menu_preloadimg[0][active] = "'".${data[$i][img]}."'";
проверьте что такие поля в таблице Subdivision действительно сущестуют
|
|
|
26.11.2007, 13:53
|
|
bobmp
Бобылев Максим Петрович
Зарегистрирован: 2006-01-26
Сообщений: 51
|
мозг напряг. все делается по другому:
$browse_sub[8][prefix] = "";global $browse_sub; $result.="";
$browse_sub[8][suffix] = "";
$browse_sub[8][active] = "\"%Pic\"";
$browse_sub[8][active_link] = "\"%Pic\"";
$browse_sub[8][unactive] = "\"%Pic\"";
$browse_sub[8][divider] = ",";
и в коде:
<body onLoad="MM_preloadImages(".s_browse_level(0,$browse_sub[8]).")">
|