使用普通CSS创建轮播

时间:2018-09-17 06:49:41

标签: javascript html css angularjs carousel

我正在尝试使用普通CSS创建轮播,该CSS可以在当前视图中容纳5个项目,并在单击滑块时显示其余内容。

参考:Bootstrap carousel

这是我用背景灰色创建的水果清单plunker。我尝试通过将宽度设置为50%,但无法隐藏这些项目,而在单击左/右箭头时无法显示这些项目。请帮助..

  <div class="col-xs-12 col-sm-12  col-md-12 col-lg-12" style="
    padding-left: 0px;bottom: 10px">
         <span class="glyphicon">&#xe079;</span>
         <ul style="line-height:30px" id="nav" ng-repeat="item in fruitSlider">
            <li>
                <span class="fruit-name block" style="
                text-align: left;">{{item.view}}</span>
                <span class="mape-percent block">{{item.count}}%</span>
            </li>
        </ul>
        <span class="glyphicon">&#xe080;</span>
     </div>

1 个答案:

答案 0 :(得分:0)

因此,这是一个非常基本的简单示例,现在没有时间提供更高级的代码。 https://jsfiddle.net/maximelian/1f0dwbL9/26/

html:

<div class="leftbutton"><</div>
<div class="outer">
  <div class="div1 shown">Test</div>
  <div class="div2 right">test 2</div>
</div>
<div class="rightbutton">></div>

css:

.leftbutton {
  float:left;
}    
.rightbutton {
  float:left;
}    
.outer {
  float:left;
  position:relative;
  width:50px;
  height:50px;
  background-color: red;
  overflow:hidden;
}    
.shown {
  position:absolute;
  width:50px;
  left:0px;
  transition: left 1s;
  -webkit-transition: left 1s;
  -moz-transition: left 1s;
  -ms-transition: left 1s;
  background-color:green;
}    
.left {
  position:absolute;
  left:-50px;
  transition: left 1s;
  -moz-transition: left 1s;
  -ms-transition: left 1s;
  -o-transition: left 1s;
  overflow:hidden;
  background-color:grey;
}    
.right {
  position:absolute;
  left:50px;
  transition: left 1s;
  -moz-transition: left 1s;
  -ms-transition: left 1s;
  -o-transition: left 1s;
  overflow:hidden;
  background-color:grey;
}

javascript:

$(".leftbutton").on("click",function(){
  $(".shown").removeClass("shown").addClass("left");
  $(".right").removeClass("right").addClass("shown");
});    
$(".rightbutton").on("click",function(){
  $(".shown").removeClass("shown").addClass("right");
  $(".left").removeClass("left").addClass("shown");
});

基本上,您只希望div包装器隐藏溢出和那些图像或具有绝对位置的任何div。然后,您可以使用脚本触发左位置更改,并为动画添加一些CSS过渡。