Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает спойлер (https://javascript.ru/forum/misc/44136-ne-rabotaet-spojjler.html)

Vladislav 08.01.2014 15:08

Не работает спойлер
 
Здравствуйте, почему не работает спойлер?

http://jsfiddle.net/W5Lsd/2/

animhotep 08.01.2014 15:42

по тому что не подключена библиотека jquery

рони 08.01.2014 15:44

Vladislav,
потому что вы ничего не выбрали в
Цитата:

Frameworks & Extensions

Vladislav 08.01.2014 18:15

Цитата:

Сообщение от рони (Сообщение 291002)
Vladislav,
потому что вы ничего не выбрали в

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

рони 08.01.2014 18:31

Цитата:

Сообщение от Vladislav
блоки айксом добавляются

ставьте клик на родителя который есть постоянно
http://api.jquery.com/on/

Vladislav 08.01.2014 18:40

Цитата:

Сообщение от рони (Сообщение 291034)
ставьте клик на родителя который есть постоянно
http://api.jquery.com/on/

переписал скрипт вот так:
<script type="text/javascript">
$( ".new_p_bl" ).on('click', '.vp', function () {
    $(this).next().toggle();
});
</script>


и так:
<script type="text/javascript">
$( ".main" ).on('click', '.vp', function () {
    $(this).next().toggle();
});
</script>


Не работает... Может ссылку вам дать?
Вот:
http://sequin.ru/site/news.php

Там подождите сек 5-15 вверху должен блок добавиться автоматически, будет надпись: "новости".

Вот при клике на нее, должен открываться блок....

структура html:

с начала:
<div class='main'>
 <div class='p_bl'></div>
 <div class='p_bl'></div>
 <div class='p_bl'></div>
 <div class='p_bl'></div>
</div>


Потом аяксом внутрь class='main' перед class='p_bl' добавляются блоки, которые должны открываться.

рони 08.01.2014 19:04

Vladislav, сделайте так
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
    $( ".main" ).on('click', '.vp', function () {
    $(this).next().toggle();
});
        window.setTimeout(foo, 5000);
        function foo() {
            $.ajax({
                url: 'new_news.php',
                dataType: 'html',
                success: function (data) {
                    $('.main').prepend(data);
                    window.setTimeout(foo, 5000)
                }
            });
        }
    })
    </script>

свои скрипты уберите

Vladislav 08.01.2014 19:06

Цитата:

Сообщение от рони (Сообщение 291039)
Vladislav, сделайте так
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript">
    $(document).ready(function () {
    $( ".main" ).on('click', '.vp', function () {
    $(this).next().toggle();
});
        window.setTimeout(foo, 5000);
        function foo() {
            $.ajax({
                url: 'new_news.php',
                dataType: 'html',
                success: function (data) {
                    $('.main').prepend(data);
                    window.setTimeout(foo, 5000)
                }
            });
        }
    })
    </script>

свои скрипты уберите



ОООО работает, вы мастер!!!))) А что не так было?)

рони 08.01.2014 19:31

Цитата:

Сообщение от Vladislav
А что не так было?)

всё должно стоять на своём месте а не как попало <html> то до сих пор потеряно и ".new_p_bl" тоже добавляется поэтому надёжнее $( ".main" ) или даже $( "body" ).

Vladislav 09.01.2014 01:41

Цитата:

Сообщение от рони (Сообщение 291042)
всё должно стоять на своём месте а не как попало <html> то до сих пор потеряно и ".new_p_bl" тоже добавляется поэтому надёжнее $( ".main" ) или даже $( "body" ).


да ё-к-л-м-н... все норм было, поправлял стили, чтобы все это красиво выглядело... теперь код опять не работает( Подзгрузки нет вообще.... Хотя скрипты не менял, только таблицы стилей..


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