Создать ответ 
Еще один пример спойлера с плавным открытием и закрытием на jquery
Автор Сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,279
У нас с: Aug 2011
Сообщение: #11
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Просто удалите функцию, отвечающую за закрытие спойлера при клике по любому свободному месту:
Код:
$(document).click(function(){
$('div.block').removeClass("show").hide("medium");
});
14.04.2013 15:59:38
Найти все сообщения Цитировать это сообщение
Sergey1917 Не на форуме
Старший сержант
*

Сообщений: 48
У нас с: Apr 2013
Сообщение: #12
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Извините Верховный Главнокомандующий за назойливость. Удалил эти три строчки и ничего не изменилось.
Там еще вот это осталось:
$('div.box').click(function(){
$(this).toggleClass("show").children('div.block').slideToggle("medium");
if ($(this).children("h2").css("background")=="#bbbbbb") $(this).children("h2").css("background","#dddddd");
else $(this).children("h2").css("background","#bbbbbb");
return false;
});
Может еще что удалить?
(Последний раз сообщение было отредактировано 14.04.2013 в 16:57:46, отредактировал пользователь Sergey1917.)
14.04.2013 16:55:59
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,279
У нас с: Aug 2011
Сообщение: #13
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Нет, ничего больше удалять не надо.
Скорее всего старый javascript код закэшировался Вашим браузером.
Закройте/откройте браузер, чтобы наверняка и обновите пару раз страничку Al

P.S. Уточню. Необходимо чтобы спойлер закрывался только при клике по заголовку спойлера или включая и содержимое спойлера? В данный момент спойлер закрывается при клике как по заголовку, так и по содержимому.
14.04.2013 17:10:38
Найти все сообщения Цитировать это сообщение
Sergey1917 Не на форуме
Старший сержант
*

Сообщений: 48
У нас с: Apr 2013
Сообщение: #14
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Браузер перезагрузил, страницу обновлял несколько раз, кэш в SQL очистил. Виртуальный сервер тоже перезагрузил. Ничего не меняется. Клик по тексту все равно действует.
(Последний раз сообщение было отредактировано 14.04.2013 в 17:27:06, отредактировал пользователь Sergey1917.)
14.04.2013 17:23:25
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,279
У нас с: Aug 2011
Сообщение: #15
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Просто не совсем поня изначально задачу.

Меняйте код на такой:
Код:
<div class="box">
      <div class="title"><h2>ЗАГОЛОВОК №1</h2></div>
      <div class="block">Содержимое спойлера №1</div>
</div>

<div class="box closed">
      <div class="title"><h2>ЗАГОЛОВОК №2</h2></div>
      <div class="block">Содержимое спойлера №2</div>
</div>


<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js">
</script>


<script type="text/javascript">
$(".box .block").show();
$(".closed .block").hide();


$('.title').click(function(){
    $(this).parent().toggleClass("show").children('div.block').slideToggle("medium");
    if ($(this).children('h2').css("background")=="#bbbbbb") $(this).children('h2').css("background","#dddddd");
    else $(this).children('h2').css("background","#bbbbbb");
    return false;
});
</script>

Обратите внимание, что изменился не только javascript код, но и конструкция блоков DIV.
14.04.2013 17:27:58
Найти все сообщения Цитировать это сообщение
Sergey1917 Не на форуме
Старший сержант
*

Сообщений: 48
У нас с: Apr 2013
Сообщение: #16
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Ура, Верховному Главнокомандующему, заработало как надо!!!
14.04.2013 17:58:39
Найти все сообщения Цитировать это сообщение
Sergey1917 Не на форуме
Старший сержант
*

Сообщений: 48
У нас с: Apr 2013
Сообщение: #17
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Вылез такой косяк: На главной - анонсы новых статей. Их заголовки являются ссылками на сами статьи. Они и видятся как ссылки, курсор изменяется, текст ссылки подчеркивается. Только вот на них перестал действовать клик мыши. Если мышью через контекстное меню, то открываются, а кликом нет. Все служебные ссылки, читать далее, оставить комментарии, ссылки тегов, нормально кликом открываются. Закомментировал скрипт спойлера - ссылки заработали нормально. Что там может быть не так?
(Последний раз сообщение было отредактировано 14.04.2013 в 21:28:44, отредактировал пользователь Sergey1917.)
14.04.2013 20:20:59
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,279
У нас с: Aug 2011
Сообщение: #18
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
А как эти ссылки связаны со спойлером? Или на них стоит еще какой-то скрипт помимо jquery?
Если у Вас стоят еще сторонние библиотеки или скрипты, то может быть конфликт скриптов. В таком случае рекомендуем ознакомится с темой - Конфликт скриптов при добавлении jQuery.
А еще лучше скиньте URL в личку, погляжу, что можно сделать.
14.04.2013 22:23:48
Найти все сообщения Цитировать это сообщение
Sergey1917 Не на форуме
Старший сержант
*

Сообщений: 48
У нас с: Apr 2013
Сообщение: #19
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Они никак не должны быть связаны. Движок Друпал, стандартные функции. Никакого скрипта на ссылках нет. Просто как поставил последний код на спойлер, так и появился такой эффект. Сайт еще не запущен. Только собираюсь скоро. Сейчас на виртуальном сервере. Так что ссылки нет.

Подумал, что я менял или ставил, после чего это проявилось. Уже несколько дней долблюсь со спойлером и параллельно делаю верстку нового материала. Вот и решил его проверить (спойлер), закомментировал код скрипта и ссылки стали нормально открываться. Ну там же настраивался клик мыши, где-то отражается наверное.

Могу прислать файл page.tpl.php с основными моими настройками и style.css.
(Последний раз сообщение было отредактировано 14.04.2013 в 22:37:42, отредактировал пользователь Sergey1917.)
14.04.2013 22:35:03
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,279
У нас с: Aug 2011
Сообщение: #20
RE: Еще один пример спойлера с плавным открытием и закрытием на jquery
Первым делом попробуйте воспользоваться функцией jQuery.noConflict(); (ссылку на тему я дал чуть выше).
У нас тоже с форумом тоже некоторые проблемы были (конфликт скриптов), но с помощью этой функции удалось победить.

Если не поможет, то попробуйте закомментировать скрипт по частям, чтобы выяснить из-за чего именно "косяк".

Так же возможно пересеклись стили и наш скрипт перехватывает нажатие по ссылкам, т.к. мы обрабатываем стили title и block:
Код:
<div class="title"><h2>ЗАГОЛОВОК №1</h2></div>
<div class="block">Содержимое спойлера №1</div>

Попробуйте в нашем коде везде заменить title и block на что-то другое.
14.04.2013 23:02:08
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 2 Гость(ей)



Mail.ru LiveInternet

© Copyright 2011-2016 by UsefulScript.ru