Замена текста при наведении
Добрый вечер!
Простите, если вопрос глупый, но всё-же: нужно сделать замену текста ссылки при наведении. С одной ссылкой проблем нет (хотя я уверен, что есть вариант короче):
<!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, время: 16:06. |