Переключение нескольких zero-block через свои кнопки

Данный код помогает добавить свои кастомные табы и переключать несколько zero-блоков при нажатии. Также есть возможность добавить кастомные стрелки

Сделали копии ZeroBlock и отредактировали контент

Добавьте zero-блок, наполните контентом и несколько кнопок с классом: tab_btn

Вставьте код на страницу в блок Другое - Т123

1
3
4

И впишите ID всех ваших блоков в код на страницу в "Т123" ['#rec346064270','#rec346073573']

5

Добавили в него 2 стрелки с классами left_tab и right_tab ( не обязательно )

2
Копировать код
<style>
.t-rec.posAnsld{
position : absolute;
width:100%;
top:0;
}
.outVis{opacity:0}
.outInd{z-index:-1}
.maintabsection , .outInd { position: relative}
.maintabsection { overflow: hidden}
.tab_btn , .right_tab, .left_tab {
cursor:pointer;
outline: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.stoptab{pointer-events:none}
.timestep{ transition:all 500ms ease-in-out}
</style>

<script>
$( document ).ready(function() {
let timestep = 500;
//ID Zero
var sbZero = [
['#rec355391176','#rec355391180','#rec355391181']


];

$.each(sbZero, function(index) {
let groupID='';
$.each(sbZero[index], function(key) {groupID += sbZero[index][key]+',' });
$(groupID.slice(0, -1)).wrapAll('<div class="maintabsection"></div>');
});

$('.maintabsection').each(function() {
$(this).find('.t-rec:not(:first)').addClass('outVis outInd posAnsld');
});
function changeTab(em,el){
em.height( em.find('.t-rec:eq('+el+')').height() );
em.find('.t-rec:eq('+el+')').removeClass('outVis');
em.find('.t-rec:eq('+el+') .tab_btn:eq('+el+')').addClass('actbtnZ');
em.find('.t-rec').not(':eq('+el+')').addClass('outVis timestep');
$('.tab_btn, .right_tab , .left_tab').addClass('stoptab').css('cursor','default');
setTimeout(function(){
em.find('.t-rec:eq('+el+')').removeClass('outInd');
em.find('.t-rec').not(':eq('+el+')').addClass('outInd').removeClass('timestep');
$('.tab_btn, .right_tab , .left_tab').removeClass('stoptab').css('cursor','pointer');
}, timestep);
};
//При клике на кнопку
$('.tab_btn').click(function(){
let mSect = $(this).closest('.maintabsection');
let posBtn = $(this).closest('.t-rec').find('.tab_btn').index(this);
mSect.find('.tab_btn').removeClass('actbtnZ');
changeTab(mSect,posBtn);
});
//При клике на кнопку вправо
$('.right_tab').click(function(){
let mSect = $(this).closest('.maintabsection');mSect.addClass('acive_tab');
let summBlk = mSect.find('.t-rec').length-1;
let posArrow = $(this).closest('.t-rec').index('.acive_tab .t-rec');
mSect.removeClass('acive_tab');
if(posArrow<summBlk){changeTab(mSect, posArrow+1)
}else{ changeTab(mSect, 0)};
});
//При клике на кнопку влево
$('.left_tab').click(function(){
let mSect = $(this).closest('.maintabsection');mSect.addClass('acive_tab');
let summBlk = mSect.find('.t-rec').length-1;
let posArrow = $(this).closest('.t-rec').index('.acive_tab .t-rec');
mSect.removeClass('acive_tab');
if(posArrow>0){changeTab(mSect, posArrow-1)
}else{ changeTab(mSect, summBlk)};
});
$(window).resize(function() {clearTimeout(window.resizedFinished); window.resizedFinished = setTimeout(function(){ $('.actbtnZ').click()}, 2000);});
});
</script>
<style>
  .t-rec.posAnsld{
    position : absolute;
    width:100%;
    top:0;
}
.outVis{opacity:0}
.outInd{z-index:-1}
.maintabsection , .outInd { position: relative}
.maintabsection { overflow: hidden}
.tab_btn , .right_tab,  .left_tab { 
    cursor:pointer;
    outline: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; 
    -webkit-user-select: none;   
    -khtml-user-select: none;   
    -moz-user-select: none;     
    -ms-user-select: none;      
    user-select: none;      
}

.stoptab{pointer-events:none}
.timestep{ transition:all 500ms ease-in-out}
</style>

<script>
$( document ).ready(function() {
let  timestep = 500;
//ID Zero
var sbZero = [
    ['#rec355391176','#rec355391180','#rec355391181']
    
    
];

$.each(sbZero, function(index) {
let groupID='';
    $.each(sbZero[index], function(key) {groupID += sbZero[index][key]+',' });
$(groupID.slice(0, -1)).wrapAll('<div class="maintabsection"></div>');
});

$('.maintabsection').each(function() {
$(this).find('.t-rec:not(:first)').addClass('outVis outInd posAnsld');
});
function changeTab(em,el){
    em.height( em.find('.t-rec:eq('+el+')').height() );
    em.find('.t-rec:eq('+el+')').removeClass('outVis');
    em.find('.t-rec:eq('+el+') .tab_btn:eq('+el+')').addClass('actbtnZ');
    em.find('.t-rec').not(':eq('+el+')').addClass('outVis timestep');
    $('.tab_btn, .right_tab , .left_tab').addClass('stoptab').css('cursor','default');
    setTimeout(function(){
        em.find('.t-rec:eq('+el+')').removeClass('outInd');
        em.find('.t-rec').not(':eq('+el+')').addClass('outInd').removeClass('timestep');
        $('.tab_btn, .right_tab , .left_tab').removeClass('stoptab').css('cursor','pointer');
    }, timestep);  
};
//При клике на кнопку
$('.tab_btn').click(function(){
    let mSect = $(this).closest('.maintabsection');
    let posBtn =  $(this).closest('.t-rec').find('.tab_btn').index(this); 
    mSect.find('.tab_btn').removeClass('actbtnZ');
    changeTab(mSect,posBtn);
});
//При клике на кнопку вправо
$('.right_tab').click(function(){
    let mSect = $(this).closest('.maintabsection');mSect.addClass('acive_tab');
    let summBlk = mSect.find('.t-rec').length-1;
    let posArrow =  $(this).closest('.t-rec').index('.acive_tab .t-rec'); 
    mSect.removeClass('acive_tab');
    if(posArrow<summBlk){changeTab(mSect, posArrow+1)
    }else{ changeTab(mSect, 0)};
});
//При клике на кнопку влево
$('.left_tab').click(function(){
    let mSect = $(this).closest('.maintabsection');mSect.addClass('acive_tab');
    let summBlk = mSect.find('.t-rec').length-1;
    let posArrow =  $(this).closest('.t-rec').index('.acive_tab .t-rec'); 
    mSect.removeClass('acive_tab');
    if(posArrow>0){changeTab(mSect, posArrow-1)
    }else{ changeTab(mSect, summBlk)};
});
$(window).resize(function() {clearTimeout(window.resizedFinished); window.resizedFinished = setTimeout(function(){ $('.actbtnZ').click()}, 2000);});
});
</script>
Больше модификаций

Возможно вы поверили в себя и сегодня нужно больше знаний. Посмотрите что есть еще интересного