Jump to content
  • 0

Где-то ошибка в сценарии.


alex81
 Share

Question

Здравствуйте. Этот кусок кода взят из книги JavaScript.Просто как 2х2. Люди подскажите что здесь не так, почему не работает (Отрывок из книги: "..Когда пользователь подводит указатель мыши к заголовку категории, открывается вложенный список гиперссылок, относящийся к этой категоии...Если пользователь перемещает указатель на другой заголовок категории, список ссылок предыдущей категории сворачивается, а под заголовком категории возникает новый список...". Только начал изучать JavaScript как попал в ступор блин.

Спасибо.

<html>
<head>
<title>Index</title>
</head>
<BODY>
<FORM><DIV STYLE='color: blue; text-decoration: underline'>
<P ONMOUSEOVER=f1()>Группа 1</P>
<UL ID='group_1' NAME='group_1'></UL>
<P ONMOUSEOVER=f2()>Группа 2</P>
<UL ID='group_2' NAME='group_2'></UL>
<P ONMOUSEOVER=f3()>Группа 3</P>
<UL ID='group_3' NAME='group_3'></UL>
</DIV></FORM>

<SCRIPT>
function f1(){
window.group_2.innerHTML=""
window.group_3.innerHTML=""
window.group_1.innerHTML="<LI ONMOUSEOVER=on_select
('art1.htm')>Статья 1</LI><LI ONMOUSEOVER=on_select
('art2.htm')>Статья 2</LI><LI ONMOUSEOVER=on_select
('art3.htm')>Статья 3</LI>"
};

function f2(){
window.group_1.innerHTML=""
window.group_3.innerHTML=""
window.group_2.innerHTML="<LI ONMOUSEOVER=on_select
('art4.htm')>Статья 4</LI><LI ONMOUSEOVER=on_select
('art5.htm')>Статья 5</LI>"
};

function f3(){
window.group_1.innerHTML=""
window.group_2.innerHTML=""
window.group_3.innerHTML="<LI ONMOUSEOVER=on_select
('art5.htm')>Статья 6</LI>"
};

function on_select(name){
top.main.location.replace(name);
};
</SCRIPT>
</BODY>
</html>

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Интересно что за книга такая... :) Сразу видно что не работает. Надо обращаться к ид не по window.ид, а по document.getElementById("ид"). А то фаерфокс не пойм?т. Плюс у вас в innerHTML стоят переносы строк. Так нельзя.

Вот испавил скрипт. Просто сравните:

<html>
<head>
<title>Index</title>
</head>
<BODY>
<FORM><DIV STYLE='color: blue; text-decoration: underline'>
<P ONMOUSEOVER=f1()>Группа 1</P>
<UL ID='group_1' NAME='group_1'></UL>
<P ONMOUSEOVER=f2()>Группа 2</P>
<UL ID='group_2' NAME='group_2'></UL>
<P ONMOUSEOVER=f3()>Группа 3</P>
<UL ID='group_3' NAME='group_3'></UL>
</DIV></FORM>

<SCRIPT>
function f1(){
document.getElementById("group_2").innerHTML=""
document.getElementById("group_3").innerHTML=""
document.getElementById("group_1").innerHTML="<LI ONMOUSEOVER=on_select"+
"('art1.htm')>Статья 1</LI><LI ONMOUSEOVER=on_select"+
"('art2.htm')>Статья 2</LI><LI ONMOUSEOVER=on_select"+
"('art3.htm')>Статья 3</LI>"
}

function f2(){
document.getElementById("group_1").innerHTML=""
document.getElementById("group_3").innerHTML=""
document.getElementById("group_2").innerHTML="<LI ONMOUSEOVER=on_select('art4.htm')>Статья 4</LI><LI ONMOUSEOVER=on_select('art5.htm')>Статья 5</LI>"
};

function f3(){
document.getElementById("group_1").innerHTML=""
document.getElementById("group_2").innerHTML=""
document.getElementById("group_3").innerHTML="<LI ONMOUSEOVER=on_select('art5.htm')>Статья 6</LI>"
};

function on_select(name){
main.location.replace(name);
};
</SCRIPT>
</BODY>
</html>

P.S. Не надо отправлять сообщения много раз. Форум болеет, но нормально принимает сообщения. :)

Link to comment
Share on other sites

  • 0
Почему в строке top.main.location.replace(name); убран top

потому что он там не нужен.

великая схема объектов применительно к ИЕ:

[window]
|
|-->[history]
|-->[event]
|-->[location]
|-->[screen]
|-->[navigator]
| |
| |-->{mimeTypes}
| |-->{plugins}
|
|-->{frames}-->{[document]s}
|-->[document]
|
|-->[element]
|-->[body]
|-->{all}
|-->{anchors}
|-->{applets}
|-->{embeds}
|-->{filters}
|-->{images}-->{areas}
|-->{links}
|-->{plugins}
|-->{scripts}
|-->{selection}
|-->{styleSheets}
|-->{forms}

Link to comment
Share on other sites

  • 0
я понял что "+" используется при переносе строки?

плюс это математический оператор сложения. в случае строк сложением является их склейка

имеет смысл использовать в таком виде как в том исправленном коде для разбивки длинной строки на более короткие, которые потом складываются - просто для удобочитаемости

Link to comment
Share on other sites

  • 0
что лучше для изучения JS

скрипт-подборки:

http://scriptic.ru/javascript.shtml

http://javascript.internet.com

из книг - имхо, Дунаев. во всяком случае из бумажных его мне понравилась больше остальных.

http://www.internet-technologies.ru/books/book_128.html

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy