В зависимости от выбранной вкладки присваивать словло
Добрый день. Имеются обычные вкладки:
<ul class="tabs"> <li class="tabs1 active"> <a href="#right">Правая вкладка</a> </li> <li class="tabs2"> <a href="#left">Левая вкладка</a> </li> </ul> <div id="right">содержимое блока</div> <div id="left">содержимое блока</div> <div class="word"> <p>Добро пожаловать <span style="display: none;">к нам</span></p> </div> Нужно, чтоб по нажатию на левую вкладку <span>к нам</span> был display: block; А когда нажимаешь на правую вкладку, то display: none; Помещать div class="word" внутри вкладок нельзя Помогите реализовать пожалуйста. не получается вариант был такой: $(function () { if ($('.tabs .tabs2').hasClass('active')) { $('.word span').show(); } if ($('.tabs .tabs1').hasClass('active')) { $('.word span').hide(); } }); |
Mrs.Haneki, здравствуйте, может так?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script> $(function () { $('.tabs').click(function(){ $('.word span').toggle(); }); }); </script> <ul class="tabs"> <li class="tabs1 active"> <a href="#right">Правая вкладка</a> </li> <li class="tabs2"> <a href="#left">Левая вкладка</a> </li> </ul> <div id="right">содержимое блока</div> <div id="left">содержимое блока</div> <div class="word"> <p>Добро пожаловать <span style="display: none;">к нам</span></p> </div> |
Manyasha, нет( по нажатию несколько раз на левую или правую вкладку, слово "к нам" появляется и исчезает.
Надо чтоб на левую вкладку только появлялось, а на правую только исчезало |
Mrs.Haneki,
невнимательно прочитала... <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script> $(function () { $('.tabs').on("click", "li", function(){ if ($(this).hasClass('tabs2')){ $('.word span').show(); }else{ $('.word span').hide(); } }); }); </script> <ul class="tabs"> <li class="tabs1 active"> <a href="#right">Правая вкладка</a> </li> <li class="tabs2"> <a href="#left">Левая вкладка</a> </li> </ul> <div id="right">содержимое блока</div> <div id="left">содержимое блока</div> <div class="word"> <p>Добро пожаловать <span style="display: none;">к нам</span></p> </div> |
Manyasha, это работает, да. Но при обновлении страницы, слово "к нам" появляется и исчезает только по клику на вкладку. Как это можно исправить?
|
Manyasha, https://jsfiddle.net/ey3hoqbs/1/
|
Mrs.Haneki,
а так? <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <style> #wr-tabs{ width: 700px; margin: 40px auto 0; } #wr-tabs .tabs{ background-color: #fff; margin-bottom: 3px; } #wr-tabs .tabs:after{ content: ''; display: block; clear: both; height: 0; } #wr-tabs .tabs .tab{ float: left; cursor: pointer; border-right: 1px solid #f2f4f9; padding: 10px 20px; } #wr-tabs .tabs .tab:last-child{ border-right: none; } #wr-tabs .tabs .tab:hover, #wr-tabs .tabs .tab.active{ background-color: #c7e7f9; color: #1d7ee4; } #wr-tabs .content{ background-color: #fff; } #wr-tabs .content .tab-cont{ display: none; padding: 15px 10px; } #wr-tabs .content .tab-cont.active{ display: block; } </style> <script> $(function () { var numTab = localStorage.getItem('activeElement') || 0; setClass(numTab); $("#wr-tabs").on("click", ".tab", function(){ setClass($(this).index()); }); function setClass(numTab){ if (numTab == 1){ $('.word span').show(); }else{ $('.word span').hide(); } var tabs = $("#wr-tabs .tab"), cont = $("#wr-tabs .tab-cont"); tabs.removeClass("active"); cont.removeClass("active"); $(tabs).eq(numTab).addClass("active"); cont.eq(numTab).addClass("active"); localStorage.setItem('activeElement', numTab); } }); </script> <div id="wr-tabs"> <div class="tabs"> <div class="tab tabs">Вкладка №1</div> <div class="tab tabs">Вкладка №2</div> </div> <div class="content"> <div class="tab-cont"> Контент №1 </div> <div class="tab-cont"> Контент №2 </div> </div> </div> <div class="word"> <p>Добро пожаловать <span>к нам</span></p> </div> |
Часовой пояс GMT +3, время: 05:28. |