Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Разворачивающийся блок по клику (https://javascript.ru/forum/dom-window/54971-razvorachivayushhijjsya-blok-po-kliku.html)

рони 30.12.2015 22:31

открывашка 243 ссылка + блок на js
 
Feex,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
   .open + .box{
     display: none;
   }
   .open.show + .box{
     display:  block;
   }
  </style>
</head>

<body>
<a href="#" class="open"> Блок 1: Открыть/Закрыть </a>
 <div class="box"> Содержимое блока 1 </div>
<br>
<a href="#" class="open"> Блок 2: Открыть/Закрыть </a>
 <div class="box"> Содержимое блока 2 </div>
<br>
 <a href="#" class="open"> Блок 3: Открыть/Закрыть </a>
 <div class="box" > Содержимое блока 3 </div>
<script>
window.addEventListener("DOMContentLoaded", function() {
    var d = document.querySelector("body"),
        e = document.querySelectorAll(".open");
    d.addEventListener("click", function(a) {
        var b = a.target,
            c = b.classList;
        c && c.contains("open") && ([].forEach.call(e, function(a) {
            a.classList[a == b ? "toggle" : "remove"]("show")
        }), a.preventDefault())
    })
});
</script>

</body>

</html>

Feex 30.12.2015 22:35

Цитата:

Сообщение от рони (Сообщение 402033)
Feex,
то есть выбрать из 242 вариантов вам слабо, неужели вы думаите что среди них нет вашего?
искать открывашка

вот есть вариант, и со стилями дружит, но там по умолчанию первый блок открыт сразу. А надо чтоб все блоки по умлочанию были закрыты.)

<!DOCTYPE html>
<html>
<head>
  <title></title>
<script type="text/javascript">
var _click = function () {
        var b = 1;
        return function (c) {
            var a = document.getElementById("item" + b);
            c == b && (a.style.display = "none" == a.style.display ? "" : "none");
            c != b && (a.style.display = "none", a = document.getElementById("item" + c), a.style.display = "", b = c)
        }
    }();
window.onload = function() {
    _click(1)
 }
</script>
</head>

<body>
<a onclick="_click(1); return false;" href="#">1</a>
<a onclick="_click(2); return false;" href="#">2</a>
<a onclick="_click(3); return false;" href="#">3</a>


<div style=" display:none" id="item1">div1</div>
<div style=" display:none" id="item2">div2</div>
<div style=" display:none" id="item3">div3</div>

</body>
</html>


Кстати, Ваш вариант)

рони 30.12.2015 22:58

Цитата:

Сообщение от Feex
А надо чтоб все блоки по умлочанию были закрыты.)

офигеть!!! а если немножечко, капельку подумать?
дочитайте тему где нашли скрипт до конца
http://javascript.ru/forum/misc/2599...tml#post389023

Feex 30.12.2015 23:07

Цитата:

Сообщение от рони (Сообщение 402041)
офигеть!!! а если немножечко, капельку подумать?

я бы с удовольствием подумал, если бы хоть один символ из скрипта мне о чем-нибудь говорил. А теперь как Вы думаете, если я тут озвучил проблему, то это потому, что мне тупо делать нечего? И, кстати, если для Вас это "офигеть" как просто, то почему же вместо решения проблемы, мы уже переписываемся вторую страницу?? Хотя, судя по Вашим знаниям, проблема решалась бы в два поста: первый пост - это вопрос, и второй пост - это Ваш ответ с готовым решением. Но нет, мы все пишем и пишем...

рони 30.12.2015 23:11

Feex,
берите вариант 243 из 11 сообщения здесь.

Feex 30.12.2015 23:14

Цитата:

Сообщение от рони (Сообщение 402043)
Feex,
берите вариант 243 из 11 сообщения здесь.

сколько лишних постов... вместо того, чтобы ПРОСТО НАПИСАТЬ: уберите _click(1)

я в шоке откуда такие люди берутся... то ли это специфика всех "программеров", то ли просто люди сами по себе такие...

Спасибо, что хоть на х..й не послали...

рони 30.12.2015 23:29

Feex, вы просто редкостная душка :cray:


Часовой пояс GMT +3, время: 19:55.