Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.12.2016, 12:48
Интересующийся
Отправить личное сообщение для johnon Посмотреть профиль Найти все сообщения от johnon
 
Регистрация: 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`ы исчезали?

Спасибо за внимание.
Ответить с цитированием
  #2 (permalink)  
Старый 26.12.2016, 13:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

johnon,
форум поиск открывашка в ассортименте 300 вариантов того что вы хотите.
Ответить с цитированием
  #3 (permalink)  
Старый 26.12.2016, 13:12
Интересующийся
Отправить личное сообщение для johnon Посмотреть профиль Найти все сообщения от johnon
 
Регистрация: 24.11.2016
Сообщений: 11

Тысячекратно извиняюсь , но не нашел то, чего мне нужно. Только стандартые show/hide.
Ответить с цитированием
  #4 (permalink)  
Старый 26.12.2016, 13:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Сообщение от johnon
Только стандартые show/hide.
а вам что нужно?
Ответить с цитированием
  #5 (permalink)  
Старый 26.12.2016, 14:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

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>
Ответить с цитированием
  #6 (permalink)  
Старый 26.12.2016, 14:47
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 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.
Ответить с цитированием
  #7 (permalink)  
Старый 26.12.2016, 22:38
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 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>
Ответить с цитированием
  #8 (permalink)  
Старый 26.12.2016, 23:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

DivMan,
странный if
Ответить с цитированием
  #9 (permalink)  
Старый 27.12.2016, 10:21
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

DivMan,
Сообщение от DivMan
почему при повторном клике, не закрывается?
а с чего бы закрываться?
В примерах jquery закрывается p не в кликнутом диве, а во всех остальных.
div.not(parent).find('p').hide()
Ответить с цитированием
  #10 (permalink)  
Старый 27.12.2016, 10:39
Интересующийся
Отправить личное сообщение для johnon Посмотреть профиль Найти все сообщения от johnon
 
Регистрация: 24.11.2016
Сообщений: 11

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Все DOM элементы под другим элементом. Или в пределах координат. xbit Events/DOM/Window 11 05.08.2016 11:31
блочный и строчные элементы - архаизм или реальность? innowed (X)HTML/CSS 1 29.06.2016 21:19
Как скрыть часть текста, при клике на ссылку показать zahar_92 jQuery 14 16.05.2016 13:23
Показать или скрыть блок. ureech jQuery 9 13.05.2016 00:38
Восторг в античной ForYourself ювелирные изделия тибетской или дать как подарок whistle123 Events/DOM/Window 0 03.12.2012 10:09