首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个div之间的平滑切换:混合效应

多个div之间的平滑切换:混合效应
EN

Stack Overflow用户
提问于 2014-06-09 13:53:29
回答 4查看 1K关注 0票数 2

我有一个有四个链接的列表,可以在四个div之间切换,这很好。现在,我想在div之间切换时添加一个平滑的混合效果。目前动画有点粗糙,因为新的div会在前一个活动的div下面消失,并在另一个div消失时跳到正确的位置。

http://jsfiddle.net/z6UH5/

HTML

代码语言:javascript
复制
    <ul>
      <li><a href="#tab-1">Tab 1</a></li>
      <li><a href="#tab-2">Tab 2</a></li>
      <li><a href="#tab-3">Tab 3</a></li>
      <li><a href="#tab-4">Tab 4</a></li>
    </ul>

    <div id="tab-1">
      Tab 1
    </div>

    <div id="tab-2">
      Tab 2
    </div>

    <div id="tab-3">
      Tab 3
    </div>

    <div id="tab-4">
      Tab 4
    </div>

</div>

jQuery

代码语言:javascript
复制
$(document).ready(function(){
  $('#tabs div').hide();
  $('#tabs div:first').show();
  $('#tabs ul li:first').addClass('active');

  $('#tabs ul li a').click(function(){ 
      $('#tabs ul li').removeClass('active');
      $(this).parent().addClass('active'); 

      var currentTab = $(this).attr('href'); 

      $('#tabs div').fadeOut();
      $(currentTab).fadeIn();
      return false;
  });
});
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-06-09 14:10:49

如果您想离开fadeIn(),只需添加:

代码语言:javascript
复制
#tabs div  { position:absolute;}
#tabs li.active a { pointer-events:none;}

以下是更新的小提琴

票数 4
EN

Stack Overflow用户

发布于 2014-06-09 14:30:51

一种稍微不同的方法,将文本从锚移动到孤立的div,然后淡出并显示div的内容。小提琴

JS

代码语言:javascript
复制
$('.tabholder div').show();
$('#tabs ul li:first').addClass('active');
$('.tabholder').html( $('#tabs ul li a:first').html() );


$('#tabs ul li a').click(function(){ 
  $('#tabs ul li').removeClass('active');
  $(this).parent().addClass('active');
  var clickedtab = $(this);

  $('.tabholder').fadeOut( 500, function(){
                          $('.tabholder').html( clickedtab.html() );
                          $('.tabholder').fadeIn();
                                           });
});
票数 1
EN

Stack Overflow用户

发布于 2014-06-09 14:04:10

你可以简单地改变

代码语言:javascript
复制
$('#tabs div').fadeOut();

代码语言:javascript
复制
$('#tabs div').hide();

或者,如果有必要,可以设置容器div的固定高度,并将溢出设置为隐藏:

代码语言:javascript
复制
#tabs {
    height: 120px;
    overflow: hidden;
}

小提琴

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24121765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档