Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2016, 03:01
Аспирант
Отправить личное сообщение для sergey24 Посмотреть профиль Найти все сообщения от sergey24
 
Регистрация: 04.11.2016
Сообщений: 56

Как дописать скрипт раскрывающегося текста?
Доброго дня. Имеется два списка ссылок, а так же некое кол-во блоков. Требуется, чтобы по клику одной из ссылок, открывался соответствующий блок, а предыдущий закрывался. Нашёл на просторах интернета скрипт:
<script>
	var show;
	function hidetxt(type){
 	param=document.getElementById(type);
 	if(param.style.display == "none") {
 	if(show) show.style.display = "none";
 	param.style.display = "block";
 	show = param;
 	}else param.style.display = "none"
	}
	</script>

<a onclick="hidetxt('tab1'); return false;" href="#">Ссылка</a>
<a onclick="hidetxt('tab2'); return false;" href="#">Ссылка</a>

<div id="tab1" style="display:none;">Текст</div>
<div id="tab2" style="display:none;">Текст</div>

Как сделать, чтобы при загрузки страницы первый блок показывался? Прописывал display:block, но тогда блок висит пока его не закроешь соответствующей ссылкой. После чего он работает нормально. Подскажите, пожалуйста, как дописать данный скрипт, либо предложите свой вариант. Заранее благодарен.

PS. Ещё заметил, что при открытии вкладок таким образом, слайдер не выводит сразу 3 миниатюры, а делает это только после пролистывания (клика по "предыдущий", "следующий"). Использую slick карусель. Также буду благодарен, если кто-то подскажет в чём дело.

PSS. Ссылки и блоки расположены в разных частях сайта, так что загнать их в один div не удастся.

Последний раз редактировалось sergey24, 04.11.2016 в 03:04.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2016, 03:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

sergey24,
форум - поиск - открывашка
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2016, 03:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

Сообщение от sergey24
slick карусель.
display:none нет размера для слайдера
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2016, 03:36
Аспирант
Отправить личное сообщение для sergey24 Посмотреть профиль Найти все сообщения от sergey24
 
Регистрация: 04.11.2016
Сообщений: 56

Сообщение от рони
форум - поиск - открывашка
Спасибо, нашёл подходящий вариант, осталось только с миниатюрами разобраться.
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2016, 08:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

Сообщение от sergey24
осталось только с миниатюрами разобраться.
reInit после открытия
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2016, 09:11
Аспирант
Отправить личное сообщение для sergey24 Посмотреть профиль Найти все сообщения от sergey24
 
Регистрация: 04.11.2016
Сообщений: 56

рони,
Можно по подробнее, пожалуйста, как это сделать?
<li><a onclick="_click(1); return false;" href="#">Ссылка 1</a></li>
<li><a onclick="_click(2); return false;" href="#">Ссылка 2</a></li>

<div id="item1" style="display:none;">Код слайдера 1</div>
<div id="item2" style="display:none;">Код слайдера 2</div>

<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>

Последний раз редактировалось sergey24, 04.11.2016 в 09:16.
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2016, 09:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

sergey24,
примерно так
var _click = function () {
        var b = 1;
        return function (c) {
            var a = document.getElementById("item" + b);
            $('.your-slider', a).slick('reInit');
            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)
 		}
Ответить с цитированием
  #8 (permalink)  
Старый 04.11.2016, 10:10
Аспирант
Отправить личное сообщение для sergey24 Посмотреть профиль Найти все сообщения от sergey24
 
Регистрация: 04.11.2016
Сообщений: 56

рони,
Слайдер с главного таба пропадает и они перестают работать.
Вот js слайдера:
<script type="text/javascript">
    $(document).ready(function(){
       	$('.slider-for').slick({
  		slidesToShow: 1,
  		slidesToScroll: 1,
  		arrows: false,
  		fade: true,
  		asNavFor: '.slider-nav'
		});
		$('.slider-nav').slick({
  		slidesToShow: 3,
  		slidesToScroll: 1,
  		asNavFor: '.slider-for',
  		focusOnSelect: true
		});
    });
  	</script>
Ответить с цитированием
  #9 (permalink)  
Старый 04.11.2016, 10:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

sergey24,
... читать документацию по slick, изучать js и jquery... более пока нечего добавить.
Ответить с цитированием
  #10 (permalink)  
Старый 04.11.2016, 10:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

sergey24,
можно так
проинициализовать слайдеры а только потом их скрыть
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как модифицировать скрипт добавляющий текст источник при копировании ondater Общие вопросы Javascript 12 04.02.2017 18:15
Подскажите скрипт для защиты от копирования текста - обфускация лучше запрета frenzy Общие вопросы Javascript 18 27.03.2016 17:08
Помогите дописать скрипт Yartret Общие вопросы Javascript 4 08.11.2015 18:09
КАк снять защиту от копирования текста в модальном окне dimas15 Элементы интерфейса 1 14.03.2013 19:36
Как заставить скрипт обновить свои знания о dom? l-liava-l Оффтопик 6 21.02.2013 16:21