0

我有一个小切换侧边栏,我正在使用 jQuery UI。问题是这是非常生涩的行为。无论如何,它看起来像左/右平滑滚动吗?

我试图让外壳像内部容器滑动一样平滑滑动。目前,一旦内部 div 完成缓动,它就会捕捉。

$(".snapper").click(function() {
 $(".sidebar-wrapper").toggle("slide", { direction: "right" }, 1000);
 $("#sidebar").css("width" , "auto");
});

在线示例。 http://frontendtrends.com/sidebar/

4

1 回答 1

1

问题出在auto. 将其更改为某个固定值,您就完成了。

$("#sidebar").css("width" , "200px");

检查这个演示

CSS

.o{
   display:block;
  float:right;
  width:30px;
  border-radius:10px;
  height:300px;
  overflow:hidden;
  background-color:black; 
}

.out{
    display:block;
  float:right;
  width:40%;
  border-radius:10px;
  height:300px;
  background-color:black; 


}

.i{
  display:none;
  width:200px;
  border-radius:10px;
  height:200px;
  overflow:hidden;
  background-color:grey;
  margin:10px 50px 10px 10px;
}

.i2{
    display:block;
  width:100px;
  border-radius:10px;
  height:100px;
  background-color:orange;
  margin:10px 50px 10px 10px;
}

JS

$(document).ready(function(){
  $('.o').click(function(){
    $(this).toggleClass('out',1000);

    if ($('.i').css('display')=='block'){
    $('.i').fadeOut('slow');
    }
    else{
    $('.i').fadeIn(1000);
    }
  });
  });
于 2013-06-03T17:56:09.923 回答