Вопрос знающим Javascript
Страницы: 1 2 След.
Вопрос знающим Javascript
Добрый вечер дамы и господа, нужна ваша помощь.
Добавил спойлер на страницу с помощью яваскрипта, вот его код
Код
    <script type="text/javascript">
$(document).ready(function(){
$('.splLink').click(function(){
$(this).parent().children('div.splCont').toggle('normal');
return false;
});
});
</script> 
Вызываю его этим скриптом
Код
 <a href="javscript://" class="splLink">Читать далее</a>
                            <div class="splCont">Скрытый текст</div>
Всё отлично работает, но есть одно но - как сделать что-бы после нажатия "Читать далее" это "Читать далее" пропадало?
И желательно появлялась кнопка "Скрыть" внизу скрытого текста
Изменено: ov3rdoc - 11 Октября 2013 22:51
На крайняк просто по повторному нажатию что-бы менялась на слово "скрыть"
100 рублей первому, кто предложит лучший вариант:D
Я не спец, но, задай "читать далее" ID и в функции просто делай скрытие


Код
<div id="next_1"><a href="javscript://" class="splLink">Читать далее</a></div>
                <div class="splCont" id="invis_1">Скрытый текст</div>

Код
window.onload = function() {
var next = document.getElementById('next_1');
var invis = document.getElementById('invis_1');
next.onclick = function() {
next.style.display = 'none';
invis.style.display = 'block';
}
}
Изменено: Максим Безгодов - 12 Октября 2013 04:16
Максим Безгодов,
заменил скрипт на

Код
    <script type="text/javascript">
window.onload = function() {
var next = document.getElementById('next_1');
var invis = document.getElementById('invis_1');
next.onclick = function() {
next.style.display = 'none';
invis.style.display = 'block';
}
}
</script>
 


и вывел как вы сказали


Цитата
Максим Безгодов пишет:
<div id="next_1">Читать далее</div>
<div class="splCont" id="invis_1">Скрытый текст</div>
Запись пропадает, но браузер сразу ругается, вот как это выглядит в 16-ой опере
Рисунок

В ие, скрытый текст открывается, "Читать далее" пропадает и моментально выдаёт это

Рисунок


Может я что-то не так вставил?
Код
   <script type="text/javascript">
      $(document).ready(function(){
         $('.splLink').click(function(){
            $(this).parent().children('div.splCont').toggle('normal');
            $(this).fadeOut("fast");
            $('.splLink2').show("fast");
         });
         $('.splLink2').click(function(){
            $(this).parent().children('div.splCont').toggle('normal');
            $(this).fadeOut("fast");
            $('.splLink').show("fast");
         });
      });
   </script> 
   <style>
   .splCont, .splLink2 {
      display:none;
   }
   </style>
HTML
Код
   <a href="javscript://" class="splLink">Читать далее</a>
      <div class="splCont">Скрытый текст</div>
      <a href="javscript://" class="splLink2">Скрыть</a>
 
Как то так.
failure, Не работает
Цитата
ov3rdoc пишет:
На крайняк просто по повторному нажатию что-бы менялась на слово "скрыть"

Посмотрите, на чистом js:
Код
<div>
<input type="text" style="border:0; color:blue;text-decoration:underline;cursor:pointer" 
value="Развернуть" class="input-button" 
onclick="if (this.parentNode.parentNode
.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') 
{ this.parentNode.parentNode.getElementsByTagName('div')[1]
.getElementsByTagName('div')[0].style.display = ''; 
this.innerText = ''; this.value = 'Свернуть'; 
} else { this.parentNode.parentNode.getElementsByTagName('div')[1]
.getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Развернуть'; }"/>
</div>
<div>
<div style="display: none;">
Скрытый текст
</div>
</div>
 
Coder, при клике слово развернуть не меняется на свернуть
Цитата
ov3rdoc пишет:
Coder, при клике слово развернуть не меняется на свернуть
Работает: создайте на компьютере файл html, поместите код и запустите:

Код
<html>
<body>
<div>
<input type="text" style="border:0; color:blue;text-decoration:underline;cursor:pointer" 
value="Развернуть" class="input-button" 
onclick="if (this.parentNode.parentNode
.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') 
{ this.parentNode.parentNode.getElementsByTagName('div')[1]
.getElementsByTagName('div')[0].style.display = ''; 
this.innerText = ''; this.value = 'Свернуть'; 
} else { this.parentNode.parentNode.getElementsByTagName('div')[1]
.getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Развернуть'; }"/>
</div>
<div>
<div style="display: none;">
Скрытый текст
</div>
</div>
</body>
</html>
200 рублей за рабочий лучший вариант
Coder, опера 16 не работает
Попробовал на:

Код
About Opera
Version information
Version
12.16 
Build
1860 
Platform
Win32 
System
Windows XP
Работает
Coder, Ну у меня в ie тоже работает
Цитата
ov3rdoc пишет:
Coder, Ну у меня в ie тоже работает
Может, что-то у вас с оперой - может js отключено? Код на чистом js - должен работать везде.

Хром:
Версия 30.0.1599.69 m
Работает

FireFox
24.0
Работает

Safari
5.1.7
Работает
Страницы: 1 2 След.
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
16:35 Бесплатное расширение для Chrome — проверка ссылок прямо на странице 
13:23 Рост эффективности моего интернет‑магазина 
11:31 AI под надзором. Минцифры готовят клеймо для контента 
21:08 Adsense личный опыт 
18:19 Яндекс Нейро и выдача в 2026 - остались ли лазейки для маленьких сайтов? 
18:16 С чего сейчас проще начать? 
08:29 Бесплатное получение бэклинков 
16:33 Продам сайт Домен РУ RU РФ c доменом www.доменру.рф 
14:20 Продам базу данных предприятий Украины, России, Великобритании, Германии, Испании, Италии, Нидерландов, Польши, Франции, Швейцарии и др. 
13:48 Мониторинг обменников Сrypto-scout.io 
13:42 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
13:06 Чек номеров на наличие Telegram/ Filter (checking) numbers Telegram 
11:55 Plata24: Быстрый обмен. Честный курс. 
Полная безопасность. 
11:46 BestChange – обменивать электронную валюту можно быстро и выгодно 
16:51 молодильные яблоки и живая вода 
16:28 8 марта: желаю аптайма 99.9% и e-e-a-t без локов 
15:42 Голландцы влепили Grok по яйцам - теперь нельзя раздевать реальных людей, штраф 100к евро в день 
22:06 Точные прогнозы на футбол 
07:17 Почему не обновляется счетчик ИКС (индекса качества сайта) 
06:50 Ставки на супер тренды в спорте 
13:04 Gartner обещал смерть SEO к 2026 году. Открываем метрику и проверяем