Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает меню на js (https://javascript.ru/forum/misc/12778-ne-rabotaet-menyu-na-js.html)

Yatop 02.11.2010 17:02

Не работает меню на js
 
Знатоки и профессионалы, помогите, пожалуйста. Первый раз делаю сайт сама и себе :)

Не могу понять почему не работает код:


<div class="body">
<table class="header1" id="Table_01" width="900" height="228" border="0" cellspacing="0" cellpadding="0">
<tr><td width="23" rowspan="6">&nbsp;</td>
<td height="38" width="213">
    <a href="#" onmouseover="window.status='knowledges'; changeImages('knowledges', 'images/knowledges-over.gif'); return true;"
                onmouseout="window.status=''; changeImages('knowledges', 'images/knowledges.gif'); return true;"
                onmousedown="changeImages('knowledges', 'images/knowledges-over.gif'); return true;"
                onmouseup="changeImages('knowledges', 'images/knowledges-over.gif'); return true;">
              <img name="knowledges" src="images/knowledges.gif" border="0" height="38" width="213" alt="Знания"></a></td>



и т.д. там таких 6 пунктов.

А да! У header1 в css задан фон (background) в виде цельной картинки на всю таблицу (таблица не только для меню, она на всю ширину страницы) ... может поэтому? Тогда, как переписать код?

Спасибо!

2de 02.11.2010 17:08

А что не работает собсно, а что там за функция changeImages, а может есть смысл просто на CSS сделать если идет изменение рисунка менюшки?

Yatop 02.11.2010 17:10

Не работает = не меняются картинки :) Вообще.

На css в виде списка и hover?

2de 02.11.2010 17:12

Да через hover, так всёже что делает функция changeImages ? Где её код?

Yatop 02.11.2010 17:16

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}


Это?

2de 02.11.2010 17:29

<div class="body">
<table class="header1" id="Table_01" width="900" height="228" border="0" cellspacing="0" cellpadding="0">
<tr><td width="23" rowspan="6">&nbsp;</td>
<td height="38" width="213">
    <a href="#" onmouseover="window.status='knowledges'; changeImages('knowledges', 'images/knowledges-over.gif'); return true;"
                onmouseout="window.status=''; changeImages('knowledges', 'images/knowledges.gif'); return true;">
              <img id="knowledges" src="images/knowledges.gif" border="0" height="38" width="213" alt="Знания"></a></td>

<script type="text/javascript">
function changeImages(ID,Image)
{ 
	    if (preloadFlag == true) document.getElementById(ID).src=Image;

}
</script>


Попробуйте так

Надеюсь переменная preloadFlag существует и установлена в true

Yatop 02.11.2010 17:35

Спасибо ОГРОМНОЕ!

preloadFlag существовала, но была установлена в false :)

Вы уж извините, за такие вопросы, но я действительно первый раз делаю сайт и только как неделю начала разбираться (в смысле постигать азы) c css и js.


Часовой пояс GMT +3, время: 20:29.