java script: вопросы и ответы

Esjot

Старожил
как написать такую мазню, чтобы при наведении на какую - либо надпись( ссылку) в другом месте высвеивалось описание к ней? не загрязняйте тему постами типа "глянь в учебник" и проч... если реально впадлу всё объяснять, то хоть киньте ссылочки на сайты в локалке, где это используется.... постараюсь сам
 

gram

Старожил
используй событие onMouseOver, типа
<a href=... onMouseOver="changeText('my text');">link</a>
changeText() - твоя функция для замены текста

Остальные куски по получению объектов и записи текста можешь потырить у меня http://miracle.gtn.ru/smssend.aspx
(функция getob, setvalue, detectNav и глобальные переменные)

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

Gpuxa

Старожил
может у кого нить завалялся такой скрипт, когда есть кнопка одного цвета, при наведении мыши она меняет цвет, с картинками так можно сделать, но можно и без картинок, у меня есть сохранённый .mht сайта, где я такое нашёл, но никак не могу оттуда код выдрать, т.к. при сохранении source'a кнопки пропадают, остаются только ссылки..
mht: ftp://10.0.2.94/fedoraproject.mht
 

Glorius

Старожил
Делаешь табличку, при наведении на нее ячейка меняет цвет фона.
Самое простое так:
Код:
<table width=100>
<tr>
<td id="cell1" onmouseover="this.bgColor = 'green'" onmouseout="this.bgColor = 'white'"> test </td>
</tr>
</table>
 

Night_Elf

Старожил
можно в css сделать:

a.cool{background-color: white; color: black; border: 1px solid black;} a:hover.cool{background-color: black; color: white; border: 1px solid white;} <a href="..." class="cool"> bla-bla </a>

можно указать еще в a.cool ширину и высоту, тогда все ссылки класса "cool" будут одинакового размера. Ну вобщем напихать еще много чего можно :)
 

Gpuxa

Старожил
ещё по той же теме вопрос, вот у меня несколько кнопок, можно ли сделать так, чтобы, когда я одну нажал, она затемнялась до того момента, как я нажму другую, ну чтобы видно было на какой странице я в данный момент нахожусь, сами кнопки находятся в отдельном фрейме, делать их для каждой страницы, я думаю, нет ризона..
 

Кекс

Старожил
2Gpuxa
Попробуй сделать, чтобы цвет подсвеченной кнопки менялся на нормальный только тогда, когда будет нажата (именно нажата, т.е. onClick) другая, а не просто будет убран с нее курсор (т.е. onMouseOut). Таким образом, будет подсвечена кнопка, соответствующая последнему клику, а значит, и нужной странице. Ну и так далее для всех кнопок.
Если я не очень доходчиво сказал, попозже приведу конкретный пример. Окей?
 

Gpuxa

Старожил
ну я вроле понял, что ты имел в виду, но нужно чтобы эта активная кнопка была др. цвета чуток .. но с твоим вариантом не до конца разобрался.. может пример..?
 

Незнайка

Старожил
На сайте http://ise.gtn.ru/Neznaika/ я реализовал меню так:

<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr>
<td><a href="Rubrikator/games.htm" onClick="MM_nbGroup('down','group1','игры','buttons/games.gif',1)" onMouseOver="MM_nbGroup('over','игры','buttons/games1.gif','buttons/games1.gif',1);MM_showHideLayers('galery','','hide')" onMouseOut="MM_nbGroup('out')"><img name="игры" src="buttons/games.gif" border="0" onLoad=""></a></td>
</tr>
<tr>
<td><a href="Soft/SistemUtilites2.htm" onClick="MM_nbGroup('down','group1','проги','buttons/soft.gif',1)" onMouseOver="MM_nbGroup('over','проги','buttons/soft1.gif','buttons/sof1.gif',1);MM_showHideLayers('galery','','hide')" onMouseOut="MM_nbGroup('out')"><img name="проги" src="buttons/soft.gif" border="0" onLoad=""></a></td>
</tr>
<tr>
<td><a href="Ferrum/ferrum.htm" onClick="MM_nbGroup('down','group1','железо','buttons/ferrum.gif',1)" onMouseOver="MM_nbGroup('over','железо','buttons/ferrum1.gif','buttons/ferrum1.gif',1);MM_showHideLayers('galery','','hide')" onMouseOut="MM_nbGroup('out')"><img name="железо" src="buttons/ferrum.gif" border="0" onLoad=""></a></td>
</tr>
<tr>
<td><a href="News/news.htm" onClick="MM_nbGroup('down','group1','новости','buttons/news.gif',1)" onMouseOver="MM_nbGroup('over','новости','buttons/news1.gif','buttons/news1.gif',1);MM_showHideLayers('galery','','hide')" onMouseOut="MM_nbGroup('out')"><img name="новости" src="buttons/news.gif" border="0" onLoad=""></a></td>
</tr>
<tr>
<td><a href="#" onClick="MM_nbGroup('down','group1','галерея','buttons/gallary.gif',1)" onMouseOver="MM_nbGroup('over','галерея','buttons/gallary1.gif','buttons/gallary1.gif',1);MM_showHideLayers('galery','','show')" onMouseOut="MM_nbGroup('out')"><img name="галерея" src="buttons/gallary.gif" border="0" onLoad=""></a></td>
</tr>
<tr>
<td><a href="Yumor/yumor.htm" onClick="MM_nbGroup('down','group1','юмор','buttons/yumor.gif',1)" onMouseOver="MM_nbGroup('over','юмор','buttons/yumor1.gif','buttons/yumor1.gif',1);MM_showHideLayers('galery','','hide')" onMouseOut="MM_nbGroup('out')"><img name="юмор" src="buttons/yumor.gif" border="0" onLoad=""></a></td>
</tr>
<tr>
<td><a href="Different/different.htm" onClick="MM_nbGroup('down','group1','разное','buttons/different.gif',1)" onMouseOver="MM_nbGroup('over','разное','buttons/different1.gif','buttons/different1.gif',1);MM_showHideLayers('galery','','hide')" onMouseOut="MM_nbGroup('out')"><img name="разное" src="buttons/different.gif" border="0" onLoad=""></a></td>
</tr>
</table>

А чтобы при наведении на кнопку высвечивалась описание надо к событию onMouseOver привязать появление слоя с нужной тебе инфой, а при событии onMouseOut - этот слой исчезает. Обрати внимание на кнопку "Галерея". То же самое можно сделать и для события onClick.
 

Gpuxa

Старожил
я выше писал
с картинками так можно сделать, но можно и без картинок
я тоже самое что у тебя сделал без картинок, но у тебя при нажатии на любую ссылку открывается новое окно, а у меня кнопки в отдельной фрейме, и они должны работать так, как я выше описал .)
 

Незнайка

Старожил
Это не принципиально, зайди на http://ise.gtn.ru/horror/ Фреймовая система, меню реализованно по тому же принципу и остаётся подсвечиватся кнопка выбранного раздела.
А вообще-то, у меня где-то была прога для создания всплывающих многоуровневых меню. Правда, я ей не пользовался. Если надо будет поищу.
 

Кекс

Старожил
Обещанный пример.

Каждой ячейке таблицы присвоено имя - id=..., обращаяясь по которому мы меняем цвет ее фона. Чем больше ячеек - тем больше действий, относящихся к конкретной ячейке, прикручиваем к событию onClick. В примере 3 ячейки - по клику на каждой меняется ее цвет на подсвеченный до тех пор, пока не будет нажата другая ячейка + цвета остальных двух меняются на первоначальный, чтобы в каждый момент подсвеченной оставалась только одна ячейка. Ссылки должны быть настроены так, чтобы страницы открывались в нужном фрейме.

Код:
<table border=1 width=100 cellpadding=10 cellspacing=0 align=left bgcolor=#0088aa>

<tr>
<td id="link1" onClick="link1.style.background='#ffffee'; link2.style.background='#0088aa'; link3.style.background='#0088aa'"><a href=#>link 1</a></td>
</tr>
<tr>
<td id="link2" onClick="link2.style.background='#ffffee'; link1.style.background='#0088aa'; link3.style.background='#0088aa'"><a href=#>link 2</a></td>
</tr>
<tr>
<td id="link3" onClick="link3.style.background='#ffffee'; link1.style.background='#0088aa'; link2.style.background='#0088aa'"><a href=#>link 3</a></td>
</tr>

</table>
_____________________________
Добавлено: 31 января, 20:09
_____________________________

Сейчас подумал, что логичнее события onClick присвоить ссылке, а не ячейке. Имена ячеек при этом сохраняются. Преимущество - эффект будет работать только при клике по ссылке (соответственно, при открытии нужной страницы). Это поможет избежать нежелательного эффекта при случайном клике в пределах ячейки (не по самой ссылке)

Код:
<table border=1 width=100 cellpadding=10 cellspacing=0 align=left bgcolor=#0088aa> 

<tr> 
<td id="link1"><a href=# onClick="link1.style.background='#ffffee'; link2.style.background='#0088aa'; link3.style.background='#0088aa'">link 1</a></td> 
</tr> 
<tr> 
<td id="link2"><a href=# onClick="link2.style.background='#ffffee'; link1.style.background='#0088aa'; link3.style.background='#0088aa'">link 2</a></td> 
</tr> 
<tr> 
<td id="link3"><a href=# onClick="link3.style.background='#ffffee'; link1.style.background='#0088aa'; link2.style.background='#0088aa'">link 3</a></td> 
</tr> 

</table>
 

Majik13

Старожил
Вот скрипт поиска по сайту. Он должен искать в базе даннных введеное слово и выдавать на страничке список стрниац сайта, на которых это слово встречается. Но он не работает ( ошибка скрипта). Просьба помочь.

<object id= 'find1'
CLASSID NAME = 'CLSID:333c7bc4-46of-11do-bc04-0080c7055a83'>
<PARAM NAME = 'FieldDelim' VALUE ="|">
<PARAM NAME = 'DataURL' VALUE = 'search.txt'>
<PARAM NAME = 'UseHeader' value=true>
<Param NAME = 'CaseSenaitive' value=false>
</object>

<input type = "text" NAME = "WORD();" value="" size="20">
<button onclick = "findkeyword()">Поиск</button><BR>

<B ID = 'rezult'></B>

<table style = 'visibility:hidden'>
<TR>
<TD> <input name ='f1' DATASRC = #fnd1 DATAFLD = 'p1'></TD>
<TD><INPUT NAME = 'f2' DATASRC = #fnd1 DATAFLD = 'p2' DATAFORMATAS = "html"></TD>
</TR>
</table>

<!-- Скрипт-->

<script>
function findkeyword(){
if (('!WORD();').value) return
var xrezult = "", y
fnd1.recordset.moveFirst()
while (!fnd1.recordSet.eof);{
y= f1.value.toLowerCase()
if (y.indexOf(Word.value.toLowercase()))>=0; {
xrezult+= f2.value + "<BR>";
}
fnd1.recordSet.moveNext();
}
if (!xrezult
document.all.rezult.inerHTML = "Ничего не найден"
else
document.all.rezult.innerHTML = xrezult;
}

</script>[/b]
 

gram

Старожил
если честно, я вообще не пойму, как ЭТО может работать :)
 

gram

Старожил
честно говоря, такой фигни никогда не видел :) даже не представляю, что это за ActiveX компонент (у себя в реестре вроде такого не нашел) и какого формата должен быть файл данных. Но если просто предположить, то объект называется find1, а в коде везде используется fnd1 - непорядок

p.s. а вообще из покон веков поиск всегда делался на сервере, а не клиенте
 
A

Anonymous

у меня есть учебник по JS в электронном виде, кому надо пишите лс
 

Druid

Старожил
а можно при помощи ява-скриптов сделать так, что бы при нацеливании курсора на картинку, она менялась в другую картинку :?: :?: :?:
 

DrGrand

Старожил
Druid":eqlroa1v сказал(а):
а можно при помощи ява-скриптов сделать так, что бы при нацеливании курсора на картинку, она менялась в другую картинку :?: :?: :?:
см. выше. Событие OnMouseOver
 
Верх