Сделать табы на jQuery

287
12 декабря 2017, 18:14

Здравствуйте. Вот дизайн:

Это партнеры, по нажатию на иконку, внизу появляется описание выбранной партнера, текст. Мне нужно чтобы по дефолту был выбран первый партнер, а также, чтобы при переключении, менялся цвет текст на партнере и внизу менялась картинка. Я сделал переключение текста, но как сделать цвет текста и по дефолту чтобы был открыт первый партнер, не знаю, подскажите. Вид:

<?php if ( have_posts() ) :  query_posts('cat=5'); while (have_posts()) : the_post(); ?>
        <?php $thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), full ); ?>
        <div class="col-md-4 col-sm-4 col-xs-12">
            <div class="wr_part part" style="background: url(<?php echo $thumbnail[0];?>)">
                <p class="ttl"><? the_title()?></p>
                <div class="partwr"><? the_content()?></div>
            </div>
        </div>
    <? endwhile; endif; wp_reset_query(); ?>
        <div class="col-md-12 col-sm-12 col-xs-12">
            <div class="ttlp"><? the_content()?></div>
        </div>
    </div>

jquery:

$(".part").click(function() {
    var color = $(this).children('.ttl');
    var value = $(this).children('.partwr').html();
    var posledniy = $(".ttlp p").last(); //последний элемент
    if($(".ttlp p").last()){
        var spisok = $(".ttlp").append(value);
        posledniy.addClass('deactivated');
    }
});

css:

.partwr, .deactivated{
display: none;
   }
Answer 1

Я решил так:

$(function() { 
  var part = $(".part"), 
    out = $(".ttlp"); 
  part.on("click", function() { 
    var el = $(this).toggleClass("act"); 
    part.not(el).removeClass("act"); 
    var bg = el.attr("style"); 
    if (el.is(".act")) { 
      out.html($(".partwr", el).html()).removeClass("deactivated").attr("style", bg); 
    } else { 
      out.addClass("deactivated"); 
    } 
  }).eq(0).click(); 
});
.act .ttl { 
  color: #FF0000; 
} 
 
.partwr, 
.deactivated { 
  display: none; 
} 
 
.part, 
.ttlp { 
  width: 200px; 
  height: 80px; 
  background-size: cover; 
  float: left; 
  margin-left: 10px; 
} 
 
.ttlp { 
  float: none; 
  margin-top: 100px; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<!DOCTYPE html> 
 
<html> 
 
<head> 
  <title>Untitled</title> 
  <meta charset="utf-8"> 
</head> 
<body> 
  <div class="col-md-4 col-sm-4 col-xs-12"> 
    <div class="wr_part part" style="background: url(https://ds04.infourok.ru/uploads/ex/1274/00028373-8ce7411f/hello_html_4c0f7715.jpg)"> 
      <p class="ttl">the_title1</p> 
      <div class="partwr">the_content1</div> 
    </div> 
  </div> 
  <div class="col-md-4 col-sm-4 col-xs-12"> 
    <div class="wr_part part" style="background: url(https://desktopmania.ru/pics/00/71/21/DesktopMania.ru-71215-300x168.jpg)"> 
      <p class="ttl">the_title2</p> 
      <div class="partwr">the_content2</div> 
    </div> 
  </div> 
  <div class="col-md-4 col-sm-4 col-xs-12"> 
    <div class="wr_part part" style="background: url(http://astromera.ru/wp-content/uploads/2016/02/chistaya-voda-1-450x225.jpg)"> 
      <p class="ttl">the_title3</p> 
      <div class="partwr">the_content3</div> 
    </div> 
  </div><br> 
  <div class="col-md-12 col-sm-12 col-xs-12"> 
    <div class="ttlp"></div> 
  </div> 
 
 
 
</body> 
 
</html>

READ ALSO
Как из html создать xml

Как из html создать xml

Есть не валидный html со списками:

281
Создание пользовательского фильтра angularjs

Создание пользовательского фильтра angularjs

Доброго времени суток! Недавно начал изучать angularjs и не могу понять как сделать кастомный фильтр Имеется вот такая разметка, которая выводит...

238
Вставить видео на сайт с быстрой загрузкой

Вставить видео на сайт с быстрой загрузкой

Как вставить видео на сайт так, чтобы при загрузке страницы пользователю не приходилось ждать по 2-3 минуты, чтобы оно загрузилосьвидео хочется...

250
Подключение к удаленной базе MySQL через pymysql

Подключение к удаленной базе MySQL через pymysql

Помогите решить проблему с подключение к удаленному серверу MySQL при попытке подключения выдает ошибку

259