Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.04.2018, 02:59
Аватар для Capoeirista
Интересующийся
Отправить личное сообщение для Capoeirista Посмотреть профиль Найти все сообщения от Capoeirista
 
Регистрация: 20.11.2013
Сообщений: 16

Открыть все спойлеры на странице
Может ли кто-нибудь написать скрипт (или помочь это сделать) для открытия всех спойлеров на странице по горячей клавише/ам или по кнопке (создаваемой скриптом рядом с первым, к примеру)?
Ответить с цитированием
  #2 (permalink)  
Старый 09.04.2018, 03:00
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

страницу угадать надо?
Ответить с цитированием
  #3 (permalink)  
Старый 09.04.2018, 11:07
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 2,988

var spoilers = [].slice.call(document.querySelectorAll('SPOILERS-SELECTOR'));
if (!spoilers.length)
    return;

var btn = document.createElement('button');
btn.type = 'button';
btn.innerHTML = 'Button';
btn.addEventListener('click', function() {
  spoilers.forEach(function(node) {
      node.dispatchEvent(new Event('click'));
  });
});
              
spoilers[0].parentNode.inserBefore(btn, spoilers[0]);

Последний раз редактировалось Nexus, 09.04.2018 в 11:34.
Ответить с цитированием
  #4 (permalink)  
Старый 09.04.2018, 11:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 27,827

Nexus,
строка 10 кавычка!!!
Ответить с цитированием
  #5 (permalink)  
Старый 09.04.2018, 11:34
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 2,988

рони, спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 09.04.2018, 19:43
Аватар для Capoeirista
Интересующийся
Отправить личное сообщение для Capoeirista Посмотреть профиль Найти все сообщения от Capoeirista
 
Регистрация: 20.11.2013
Сообщений: 16

Сообщение от j0hnik
страницу угадать надо?
Не понял?
Если имелось ввиду для какого сайта, то NNM-Club

Nexus,
Я правильно понимаю, что вместо SPOILERS-SELECTOR нужно вставить нужный в моём случае css-класс, то бишь
https://i.imgur.com/MPIID0I.png

и я его задействовал посредством расширения для браузера - Tampermonkey таким образом
// ==UserScript==
// @name         New Userscript
// @namespace    [url]http://tampermonkey.net/[/url]
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        [url]https://nnm-club.me[/url]
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
var spoilers = [].slice.call(document.querySelectorAll('spoiler-wrap'));
if (!spoilers.length)
    return;

var btn = document.createElement('button');
btn.type = 'button';
btn.innerHTML = 'Button';
btn.addEventListener('click', function() {
  spoilers.forEach(function(node) {
      node.dispatchEvent(new Event('click'));
  });
});
spoilers[0].parentNode.inserBefore(btn, spoilers[0]);
})();


Если правильно, то ничего не получается. Создаваемой js-ом кнопки нет или по-крайней мере я её не вижу, а при нажатии на спойлер - открывается только один.
Ответить с цитированием
  #7 (permalink)  
Старый 09.04.2018, 19:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 27,827

Capoeirista,
13 строка, точка где?
Ответить с цитированием
  #8 (permalink)  
Старый 09.04.2018, 20:19
Аватар для Capoeirista
Интересующийся
Отправить личное сообщение для Capoeirista Посмотреть профиль Найти все сообщения от Capoeirista
 
Регистрация: 20.11.2013
Сообщений: 16

Сообщение от рони Посмотреть сообщение
Capoeirista,
13 строка, точка где?
Ну да, чего это я ...
Добавил точку к классу, но результат нулевой.
Ответить с цитированием
  #9 (permalink)  
Старый 09.04.2018, 20:23
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 2,988

Capoeirista, строку 22 на это замените:
node.querySelector('.clickable').dispatchEvent(new Event('click'));
Ответить с цитированием
  #10 (permalink)  
Старый 09.04.2018, 20:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 27,827

Capoeirista,
кнопка появилась?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое отображение контента на 2ой странице, в зависимости от выбора на 1ой Volchen0ck Events/DOM/Window 2 14.05.2014 16:01
Ajax+js+5 форм обратной связи на одной странице aleksandr8i AJAX и COMET 0 01.04.2014 10:04
Выделить все checkbox с помощью jquery Alyona jQuery 16 17.01.2012 10:44
ajax, history, навигация, адресная строка и индексация. все в одном. firsttinman AJAX и COMET 3 24.10.2011 18:14
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37