|
26.12.2016, 12:48
|
Интересующийся
|
|
Регистрация: 24.11.2016
Сообщений: 11
|
|
Скрыть или показать элементы
Всем добрый день. Имеется код типа:
<!--первый элемент-->
<div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
Можно ли реализовать так, чтобы при клике по ссылке отображался параграф этого div`а , а остальные div`ы исчезали?
Спасибо за внимание.
|
|
26.12.2016, 13:03
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
johnon,
форум поиск открывашка в ассортименте 300 вариантов того что вы хотите.
|
|
26.12.2016, 13:12
|
Интересующийся
|
|
Регистрация: 24.11.2016
Сообщений: 11
|
|
Тысячекратно извиняюсь , но не нашел то, чего мне нужно. Только стандартые show/hide.
|
|
26.12.2016, 13:57
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Сообщение от johnon
|
Только стандартые show/hide.
|
а вам что нужно?
|
|
26.12.2016, 14:05
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
johnon,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
div p {
display: none;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var div = $('div');
div.on('click', 'a', function(event) {
event.preventDefault();
var parent = $(this).parent();
$('p',parent).show();
div.not(parent).remove()
})
});
</script>
</head>
<body>
<!--первый элемент-->
<div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
</body>
</html>
|
|
26.12.2016, 14:47
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
рони, может, не так сурово
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
div p {
display: none;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
var div = $('div');
div.on('click', 'a', function(event) {
event.preventDefault();
var parent = $(this).parent();
$('p',parent).show();
div.not(parent).find('p').hide()
})
});
</script>
</head>
<body>
<!--первый элемент-->
<div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
</body>
</html>
Правда, в результате получается
Сообщение от johnon
|
Только стандартые show/hide.
|
Последний раз редактировалось Dilettante_Pro, 26.12.2016 в 14:51.
|
|
26.12.2016, 22:38
|
Профессор
|
|
Регистрация: 08.03.2016
Сообщений: 429
|
|
Пытаюсь переделать на чистый JS, почему при повторном клике, не закрывается?
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<style>
div p {
display: none;
}
</style>
</head>
<body>
<div>
<a href="#">link-1</a>
<p>text</p>
</div>
<!--второй элемент-->
<div>
<a href="#">link-2</a>
<p>text</p>
</div>
<!--третий элемент-->
<div>
<a href="#">link-3</a>
<p>text</p>
</div>
<script>
var div2 = document.querySelectorAll('div');
for(var i = 0; i < div2.length; i++){
div2[i].addEventListener('click', function(event) {
event.preventDefault();
if(event.target.nextElementSibling.style.display = 'none'){
event.target.nextElementSibling.style.display = 'block'
}
else if(event.target.nextElementSibling.style.display = 'block'){
div2[i].lastElementChild.style.display = 'none'
}
})
//div2[i].lastElementChild.style.display = 'none'
}
</script>
</body>
</html>
|
|
26.12.2016, 23:00
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
DivMan,
странный if
|
|
27.12.2016, 10:21
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
DivMan,
Сообщение от DivMan
|
почему при повторном клике, не закрывается?
|
а с чего бы закрываться?
В примерах jquery закрывается p не в кликнутом диве, а во всех остальных.
div.not(parent).find('p').hide()
|
|
27.12.2016, 10:39
|
Интересующийся
|
|
Регистрация: 24.11.2016
Сообщений: 11
|
|
Мне нужно , чтобы остальные из кликнутой ссылки появлялся параграф ,а остальные дивы исчезали. Ну и ссылку на исходный вариант по возможности.
|
|
|
|