Замена текста при наведении
Добрый вечер!
Простите, если вопрос глупый, но всё-же: нужно сделать замену текста ссылки при наведении. С одной ссылкой проблем нет (хотя я уверен, что есть вариант короче): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Шаблон</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script type="text/javascript"> <!-- function f_over () { document.getElementById ("div1").style.display = "none"; document.getElementById ("div2").style.display = "block"; } function f_out () { document.getElementById ("div1").style.display = "block"; document.getElementById ("div2").style.display = "none"; } //--> </script> </head> <body> <div><div id="div1"><a href="link1.html" onmouseover="f_over ();">Первый текст</a></div> <div id="div2"><a href="link2.html" onmouseout="f_out ();">Второй текст</a></div></div> <script type="text/javascript"> <!-- document.getElementById ("div2").style.display = "none"; //--> </script> </body> </html> Но как быть, если ссылок много? |
<a href="link1.html" onmouseout="this.href='link1.html';this.innerHTML='Первый текст';" onmouseover="this.href='link2.html';this.innerHTML='Второй текст';">Первый текст</a> ну или вынести в функцию ) хмм, в примере почему-то 2 разные ссылки, а в задаче вроде ее не нужно менять, ну значит убрать this.href=хххх |
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> .off { display: none; } </style> <script type="text/javascript"> $(document).ready(function (){ $('#box > div:even').mouseover(function (){ next(this); }); $('#box > div:odd').mouseout(function (){ next(this); }); }); function next(Obj) { var o=$(Obj) o.hide(); o=o.next(); o=(o.length>0)? o: $(Obj.parentNode).find('div:first'); o.show(); } </script> </head> <body> <div id='box'> <div><a href="link1.html">текст 1</a></div> <div class='off'><a href="link1.html">текст 2</a></div> <div class='off'><a href="link1.html">текст 3</a></div> <div class='off'><a href="link1.html">текст 4</a></div> <div class='off'><a href="link1.html">текст 5</a></div> <div class='off'><a href="link2.html">текст N</a></div> </div> </body> </html> Это как иллюстрация идеи. :) |
<a href="/" name="Название при наведении 1">Ссылка 1</a> <a href="/" name="Название при наведении 2">Ссылка 2</a> <a href="/" name="Название при наведении 3">Ссылка 3</a> function replaceText() { var a = this, b = a.innerHTML; a.innerHTML = a.name; a.name = b; } window.onload = function() { var a = document.getElementsByTagName('a'), b; for(i=0; i<a.length; i++) if(a[i].name) { a[i].onmouseover = replaceText; a[i].onmouseout = replaceText; } } В name пишем название, которое будет выводиться при наведении. |
Часовой пояс GMT +3, время: 12:07. |