Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为选项卡式内容添加漂亮的滑动效果_Javascript_Jquery_Html_Css_Tabs - Fatal编程技术网

Javascript 为选项卡式内容添加漂亮的滑动效果

Javascript 为选项卡式内容添加漂亮的滑动效果,javascript,jquery,html,css,tabs,Javascript,Jquery,Html,Css,Tabs,我正在构建一个选项卡式内容区域,我现在需要的是,当打开一个选项卡时,它能有一个很好的滑动效果吗 $('#feature-tabs li').on('click', 'a', function(e) { e.preventDefault(); var clicked = $(this); var tab_id = clicked.attr('data-tab'); if(clicked.parent().hasClass('active-tab')) {

我正在构建一个选项卡式内容区域,我现在需要的是,当打开一个选项卡时,它能有一个很好的滑动效果吗

$('#feature-tabs li').on('click', 'a', function(e) {
    e.preventDefault();
    var clicked = $(this);
    var tab_id = clicked.attr('data-tab');

    if(clicked.parent().hasClass('active-tab')) {
        clicked.parent().removeClass('active-tab');
        clicked.children('img').toggleClass('hide-logo');
        $('#' + tab_id).removeClass('active-feature-tab-item');

    } else {
        $('.feature-tabs li').removeClass('active-tab');
        $('.feature-tab-item').removeClass('active-feature-tab-item');
        $('.feature-tabs a img:nth-child(1)').removeClass('hide-logo');
        $('.feature-tabs a img:nth-child(2)').addClass('hide-logo');

        $('.feature-tabs a[data-tab=' + tab_id + ']')
        .parent().addClass('active-tab');

        $('.feature-tabs li a[data-tab=' + tab_id + '] img').toggleClass('hide-logo');

        $('#' + tab_id).addClass('active-feature-tab-item');
    }
});
以下是html:

<ul id="feature-tabs" class="feature-tabs">

    <li>
        <a href="#" data-tab="tab-1">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/llanrhidian-tab-logo.png" alt="">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/llanrhidian-tab-logo-mono.png" alt="" class="hide-logo">
        </a>
    </li>
    <li>
        <a href="#" data-tab="tab-2">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/greenmeadow-tab-logo.png" alt="">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/greenmeadow-tab-logo-mono.png" alt="" class="hide-logo">
        </a>
    </li>
    <li>
        <a href="#" data-tab="tab-3">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/gower-events-tab-logo.png" alt="">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/gower-events-tab-logo-mono.png" alt="" class="hide-logo">
        </a>
    </li>
    <li>
        <a href="#" data-tab="tab-4">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/purplebadger-tab-logo.png" alt="">
            <img src="<?php echo $this->getThemePath(); ?>/images/logos/purplebadger-tab-logo-mono.png" alt="" class="hide-logo">
        </a>
    </li>

</ul>

<div class="feature-tab-content">

    <div id="tab-1" class="feature-tab-item">
        <h2>Title 1</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id, perferendis velit! Voluptatum veritatis tenetur quibusdam molestiae possimus incidunt, nesciunt ab!</p>
    </div>

    <div id="tab-2" class="feature-tab-item">
        <h2>Title 2</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id, perferendis velit! Voluptatum veritatis tenetur quibusdam molestiae possimus incidunt, nesciunt ab!</p>
    </div>

    <div id="tab-3" class="feature-tab-item">
        <h2>Title 3</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id, perferendis velit! Voluptatum veritatis tenetur quibusdam molestiae possimus incidunt, nesciunt ab!</p>
    </div>

    <div id="tab-4" class="feature-tab-item">
        <h2>Title 4</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Id, perferendis velit! Voluptatum veritatis tenetur quibusdam molestiae possimus incidunt, nesciunt ab!</p>
    </div>

</div>
标题1 Lorem ipsum dolor sit amet,奉献精英。身份证,请出示证件!事实上,这是一种犯罪行为

标题2 Lorem ipsum dolor sit amet,奉献精英。身份证,请出示证件!事实上,这是一种犯罪行为

标题3 Lorem ipsum dolor sit amet,奉献精英。身份证,请出示证件!事实上,这是一种犯罪行为

标题4 Lorem ipsum dolor sit amet,奉献精英。身份证,请出示证件!事实上,这是一种犯罪行为

有什么方法可以改进我的javascript吗?我还想在标签内容中加入滑动效果


这是我更新的

您可以使用css3添加幻灯片效果。我已经修改了你的css和html 以下是scss:

.feature-tab-content{
  position: relative;
  padding: 0 40px;
}
.feature-tab-item {
    position: absolute;
    left: 0px;
    right: 0px;
    width: 100%;
    div{
      padding: 20px;
    }
    background:blue;
    color:white;
    max-height: 0;
    padding:0;
    overflow: hidden;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    &.active-feature-tab-item {
      -webkit-transition: all 0.8s 0.5s ease-out;
      -moz-transition: all 0.8s  0.5s ease-out;
      transition: all 0.8s  0.5s ease-out;
      max-height:  160px;
   }
}
检查此链接以获取完整代码-:

希望它能对您有所帮助。

非常感谢,您认为我可以改进我的javascript吗,请参阅更新的op codepen。使用css3的幻灯片效果的问题是转换是在高度上完成的,我需要一个灵活的高度值,因为内容会有所不同。只需将
最大高度
值设置得太大即可。它会很酷地解决这个问题,我想我可以使用modenizr提供display none、display block的后备功能