Как ограничить работу скрипта, чтобы он выполнялся локально?
Помогите разобраться. Впервые верстаю ручками. Задача стоит такая: нужно чтобы кнопки в меню менялись при наведении мыши (кнопки-картинки), скрипт использую следующий:
<!-- Скрипт для кнопочек в верхнем меню -->
<script language="JavaScript">
<!--
img=new Array() // Объявляется массив
img[0]=new Image()
img[1]=new Image()
img[2]=new Image()
img[3]=new Image()
img[4]=new Image()
img[5]=new Image()
img[6]=new Image()
img[7]=new Image()
img[0].src="image/tax_advice.jpg" // Каждому элементу массива присваивается
img[1].src="image/tax_advice2.jpg" // конкретная картинка
img[2].src="image/accounting.jpg"
img[3].src="image/accounting2.jpg"
img[4].src="image/stuff_advice.jpg"
img[5].src="image/stuff_advice2.jpg"
img[6].src="image/legal_advice.jpg"
img[7].src="image/legal_advice2.jpg"
function ChgImg(NumImg,Action) // описывается функция последовательного вывода картинок
{
i=eval(NumImg);
if(Action) // Если картинка меняется
{
document.images[i].src=img[i*2+1].src
}
else // Если вернуть к прежней картинке
document.images[i].src=img[i*2].src
}
//-->
</SCRIPT>
<!-- Скрипт закончен -->
Проблема в том, что на странице есть уже картинки, которые находятся в теле документа выше, чем те, что должны меняться. Поэтому получается следующее, когда наводишь на нужную кнопку, он меняет не ту картинку, которую необходимо а самую первую в документе и так поочереди... как ограничить выполнение данного скрипта только в рамках конкретного места? :help: |
Да, еще забыл... в html место где должен активизироваться этот скрипт выглядит так:
<tr> <td colspan="4" align="center"> <a href="tax_advice.html" title="Вопросы, связанные с налоговой отчетностью"> <img src="image/tax_advice.jpg" onMouseOver="ChgImg(0,true)" onMouseOut="ChgImg(0,false)" border="0"></a> <a href="accounting.html" title="Вопросы, связанные с бухгалтерской отчетностью"> <img src="image/accounting.jpg" onMouseOver="ChgImg(1,true)" onMouseOut="ChgImg(1,false)" border="0"></a> <a href="stuff_advice.html" title="Вопросы, связанные с управлением персоналом"> <img src="image/stuff_advice.jpg" onMouseOver="ChgImg(2,true)" onMouseOut="ChgImg(2,false)" border="0"></a> <a href="stuff_advice.html" title=">Юридические вопросы"> <img src="image/legal_advice.jpg" onMouseOver="ChgImg(3,true)" onMouseOut="ChgImg(3,false)" border="0"></a> </td> </tr> Помогите, пожалуйста, в чем моя ошибка? |
если я не ошибаюсь тов данной конструкции "document.images[i].src" картинки считаются с самого начала документа. полагается что нужно отсчитать сколько картинок предшествует нужному элементу
|
Спасибо, но это не помогло. До необходимого места еще есть 3 картинки, начал считать массив с 3-х - глючит... попробовал начать массив с "0" и добавить туда те 3 картинки, которые находятся до нужного места - совсем глючит...
При этом, если нет в документе до этого других картинок, то скрипт работает корректно... Подскажите, может есть возможность сделать метку, чтобы скрипт начинал работать только в нужной локации? условно "работаю только в этой табличке, остальной документ меня не касаетсяЭ |
|
Спасибо, надо было присвоить id месту, я не знал как это прописать в самом скрипте...
|
| Часовой пояс GMT +3, время: 08:48. |