Замена класса
Здравствуйте.
Помогите решить следующую задачку. Есть некая структуру в коде, все Тексты изначально скрыты классом .clear Как правильно написать функцию, чтобы при клике на «2» отобразился «Текст 2», произошла замена класса на .activ. Ну и чтобы при выборе 1 соответственно отобразился Текст 1, а Текст 2 обратно стал неактивным.
<style>
.clear {display: none;}
.activ {display: block;}
</style>
<div class="tv">
<div class="date" onclick="check();">1</div>
<div class="clear">Текст 1</div>
</div>
<div class="tv">
<div class="date" onclick="check();">2</div>
<div class="clear">Текст 2</div>
</div>
<div class="tv">
<div class="date" onclick="check();">3</div>
<div class="clear">Текст 3</div>
</div>
<script>
function check() {
}
</script>
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
-->
<style type="text/css">
.clear {display: none;}
.activ {display: block;}
</style>
<script type="text/javascript">
$(function (){
$('.date').click(function (){
$('.container .activ').removeClass('activ').addClass('clear');
$(this).next().removeClass('clear').addClass('activ');
});
});
</script>
</head>
<body>
<div class='container'>
<div class="tv">
<div class="date">1</div>
<div class="clear">Текст 1</div>
</div>
<div class="tv">
<div class="date">2</div>
<div class="clear">Текст 2</div>
</div>
<div class="tv">
<div class="date">3</div>
<div class="clear">Текст 3</div>
</div>
</div>
</body>
</html>
|
NoJQuery вариант!
<style>
.date{
background: #D5A4C9;
cursor: pointer;
margin-bottom: 1px;
}
.spoiler{
border: 1px solid blue;
}
.clear {
display: none;
}
</style>
<div class="tv">
<div class="date">1</div>
<div class="spoiler clear">Текст 1</div>
</div>
<div class="tv">
<div class="date">2</div>
<div class="spoiler clear">Текст 2</div>
</div>
<div class="tv">
<div class="date">3</div>
<div class="spoiler clear">Текст 3</div>
</div>
<script>
(function(){
var active = null;
var onclick = function() {
var block = this.parentNode.querySelector('.spoiler');
if (active !== null) {
active.className += ' clear';
if (active === block) {
active = null;
return;
}
active = null;
}
block.className = 'spoiler';
active = block;
}
var togglers = document.querySelectorAll('.tv .date');
for (var i = 0, toggler; toggler = togglers[i]; i++) {
toggler.onclick = onclick;
}
})();
</script>
|
| Часовой пояс GMT +3, время: 19:49. |