javascript - 同时滑入和滑出

标签 javascript jquery html css

我正在尝试制作一个 slider ,通过鼠标单击右箭头按钮来更改图像,但我遇到了一些空白帧。我希望它是无缝的。这是我的代码:

html:

<div id="img_slider">
    <img src="../images/proj/1(2).jpg" id="img_1" class="slide_img"/>
    <img src="../images/proj/1.jpg"id="img_2" class="slide_img" />
    <img src="../images/proj/2.jpg" id="img_3" class="slide_img" />
    <img src="../images/proj/3.jpg" id="img_4" class="slide_img" />
    <img src="../images/proj/4.jpg" id="img_5" class="slide_img" />
    <img src="../images/proj/5.jpg" id="img_6" class="slide_img" />
</div>

这是CSS:

#img_slider{
    background:url(../images/preloader.gif)no-repeat center;
    background-color:rgba(253,251,187,.6);
    background-size:50px;
    overflow:hidden;
    z-index:2;
    height:500px;
}

.slide_img{
    display:none;
    width:100%;
    height:500px;
    z-index:1;
}

.slide_img:first-child{
    display:block;
}

这是javascript:

var count= 1;

function right(){   
    count++;
    if(count>6){
        count=1;    
    }
    $(".item").css("background","#333");
    $("#item_"+count).css("background","#3AF71A");
    $(".slide_img").hide("slide",{direction:'right'},500);
    $("#img_"+count).delay(300).show("slide",{direction:'left'},500);

    if(count==6){
        count=0;
    }
}

非常感谢任何帮助。 0:)

最佳答案

你应该这样写:http://jsfiddle.net/v7au9/9/

HTML

<div id="slider_container">
  <div id="img_slider">
    <img src="http://placekitten.com/120/100" id="img_1" class="slide_img"/>
    <img src="http://placekitten.com/120/100"id="img_2" class="slide_img" />
    <img src="http://placekitten.com/120/100" id="img_3" class="slide_img" />
  </div>
</div>

CSS

#slider_container {
  position: relative;
  overflow: hidden;
  width: 120px;
  height: 100px;
}

#img_slider {
  position: absolute;
  left: 0px;
  width: 99999px;
}

img {
  float: left;
}

JS

var count = 1;
var newLeft = 0;

$(document).ready(function() {

  var timer = setInterval(function() {

    newLeft = parseInt($('#img_slider').css('left')) - $('img').width();

    if(count == $('img').length){
        count = 0;
        newLeft = 0;
    }

    $('#img_slider').animate({
        left: newLeft
    });

    count++;

  }, 1000);

});

关于javascript - 同时滑入和滑出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23213186/

相关文章:

javascript - 单击下拉列表中的按钮而不关闭它时触发 AJAX 操作

javascript - JQuery 或 JavaScript : iterate through array with days of the week

html - 链接背景图像在加载之间消失

javascript - 从 DOM 获取文本(不包括脚本标签)

javascript - CSS3 中的自动换行

javascript - 如何在第二次打开时只刷新jquery对话框的内容

javascript - 如何将被拒绝的 promise 转换为异常并将其从 Express 路由处理程序中抛出?

javascript - (异步 () => { })();这是什么?

javascript - 从 HTML 表单中删除元素?

css - div一直向左滑动