Javascript.RU

 
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2009, 01:38
Новичок на форуме
Отправить личное сообщение для Netot Посмотреть профиль Найти все сообщения от Netot
 
Регистрация: 04.06.2009
Сообщений: 4

Как ограничить работу скрипта, чтобы он выполнялся локально?
Помогите разобраться. Впервые верстаю ручками. Задача стоит такая: нужно чтобы кнопки в меню менялись при наведении мыши (кнопки-картинки), скрипт использую следующий:

<!-- Скрипт для кнопочек в верхнем меню -->
<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>
<!-- Скрипт закончен -->


Проблема в том, что на странице есть уже картинки, которые находятся в теле документа выше, чем те, что должны меняться. Поэтому получается следующее, когда наводишь на нужную кнопку, он меняет не ту картинку, которую необходимо а самую первую в документе и так поочереди... как ограничить выполнение данного скрипта только в рамках конкретного места?
  #2 (permalink)  
Старый 04.06.2009, 02:19
Новичок на форуме
Отправить личное сообщение для Netot Посмотреть профиль Найти все сообщения от Netot
 
Регистрация: 04.06.2009
Сообщений: 4

Да, еще забыл... в 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>


Помогите, пожалуйста, в чем моя ошибка?
  #3 (permalink)  
Старый 04.06.2009, 07:20
Avaria
 
Сообщений: n/a

если я не ошибаюсь тов данной конструкции "document.images[i].src" картинки считаются с самого начала документа. полагается что нужно отсчитать сколько картинок предшествует нужному элементу
  #4 (permalink)  
Старый 04.06.2009, 09:16
Новичок на форуме
Отправить личное сообщение для Netot Посмотреть профиль Найти все сообщения от Netot
 
Регистрация: 04.06.2009
Сообщений: 4

Спасибо, но это не помогло. До необходимого места еще есть 3 картинки, начал считать массив с 3-х - глючит... попробовал начать массив с "0" и добавить туда те 3 картинки, которые находятся до нужного места - совсем глючит...
При этом, если нет в документе до этого других картинок, то скрипт работает корректно...

Подскажите, может есть возможность сделать метку, чтобы скрипт начинал работать только в нужной локации? условно "работаю только в этой табличке, остальной документ меня не касаетсяЭ
  #5 (permalink)  
Старый 04.06.2009, 11:03
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

почитай http://javascript.ru/start/dom/search
можно даже http://javascript.ru/start/dom
  #6 (permalink)  
Старый 04.06.2009, 19:03
Новичок на форуме
Отправить личное сообщение для Netot Посмотреть профиль Найти все сообщения от Netot
 
Регистрация: 04.06.2009
Сообщений: 4

Спасибо, надо было присвоить id месту, я не знал как это прописать в самом скрипте...
 



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтобы text() брал только текст родителя без текста вложенных контейнеров? Andrey32 jQuery 3 23.05.2009 00:33
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 22:24
Как узнать, завершила ли свою работу рекурсивная функция Ajax Общие вопросы Javascript 4 13.05.2009 13:50
как прекратить выполнение скрипта ? kefi Общие вопросы Javascript 3 31.03.2009 18:05
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 21:40