jquery slider 动画问题

标签 jquery html css

我学习用 jquery 写作,但我遇到了动画 slider 的问题。

演示:https://jsfiddle.net/ywrscmpo/1/

问题是过渡,这很难看,我不知道如何解决。如何解决?

$(document).ready(function(){

var lewo = $('.lewo');
var prawo = $('.prawo');

var teraz = 0;

$('.slider-box ul li ').eq(teraz).addClass('aktywny');

$(".lewo").click(function(){
    $('.slider-box ul li').eq(teraz).fadeOut(1000);
    $('.slider-box ul li').eq(teraz).removeClass('aktywny');
    teraz = teraz - 1;

    if(teraz == -1)
    {
        teraz = 3;
    }

    $('.slider-box ul li').eq(teraz).fadeIn(1000);
    $( ".slider-box ul li" ).eq(teraz).addClass('aktywny');

});

$(".prawo").click(function(){
    $('.slider-box ul li').eq(teraz).fadeOut(1000);
    $('.slider-box ul li').eq(teraz).removeClass('aktywny');
    teraz = teraz + 1;

    if(teraz == 4)
    {
        teraz = 0;
    }
    $('.slider-box ul li').eq(teraz).fadeIn(1000);
    $( ".slider-box ul li" ).eq(teraz).addClass('aktywny');

});

最佳答案

由于 fadeOut() 下一个图像将显示。而不是 fadeOut() 如果你使用 hide() 它将起作用。当前图像将立即隐藏,下一个图像将处于动画效果中。

<div id="kontener1"> 
      <div class="slider-box">
				
				<ul>
					<div class="lewo"> </div>
					
					<li> <img src="http://wallpapercave.com/wp/GUAaScC.jpg" alt="1"> </li>
					<li> <img src="https://wallpaperscraft.com/image/board_black_line_texture_background_wood_55220_1920x1080.jpg" alt="2"> </li>
					<li> <img src="https://wallpaperscraft.com/image/black_background_pattern_light_texture_55291_1920x1080.jpg" alt="3"> </li>
					<li> <img src="https://wallpaperscraft.com/image/dark_background_line_surface_65896_1920x1080.jpg" alt="4"> </li>
					
					<div class="prawo"> </div>
				</ul>
	
			</div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){



	var lewo = $('.lewo');
	var prawo = $('.prawo');

	var teraz = 0;

	$('.slider-box ul li ').eq(teraz).addClass('aktywny');

	$(".lewo").click(function(){
		$('.slider-box ul li').eq(teraz).hide();
		$('.slider-box ul li').eq(teraz).removeClass('aktywny');
		teraz = teraz - 1;
		
		if(teraz == -1)
		{
			teraz = 3;
		}
		
		$('.slider-box ul li').eq(teraz).fadeIn(1000);
		$( ".slider-box ul li" ).eq(teraz).addClass('aktywny');
		
    });
	
	$(".prawo").click(function(){
		$('.slider-box ul li').eq(teraz).hide();
		$('.slider-box ul li').eq(teraz).removeClass('aktywny');
		teraz = teraz + 1;
		
		if(teraz == 4)
		{
			teraz = 0;
		}
		$('.slider-box ul li').eq(teraz).fadeIn(1000);
		$( ".slider-box ul li" ).eq(teraz).addClass('aktywny');
		
    });
	$(".lewo").click();


});
</script>
<style>
*, *, *:after, *:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	list-style: none;
	padding: 0px;
	margin: 0px;
	font-size:0px;
}

.slider-box {
	position:relative;
	width:80%;
	height:100%;
	margin:0 auto;
	height:100px;
}

.slider-box ul {
	position:relative;
	
	background-color:grey;
}

.slider-box ul li {
	width:100%;
	height:100%;
	display:none;
}

.slider-box img {
	width:100%;
	height:100%;
}

.slider-box ul .aktywny{
	display:block;
} 

.slider-box ul .lewo, .prawo {
	position:absolute;
	width:100px;
	height:100%;
	background-color:grey;
	z-index: 100;
	cursor:pointer;
}

.slider-box ul .prawo {
	right:0;
	top:0;
}
</style>

关于jquery slider 动画问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38480858/

相关文章:

Javascript if 语句判断用户是否点击了输入类型

javascript - Thymeleaf map 中的相关下拉列表

html - 没有黑条的响应式全屏 youtube 视频?

html - 获取 IE8 条件样式表以进行响应式网页设计

javascript - 在 angularjs 中调用 $window.print() 导致打印预览显示空白页

css - 根据部署加载不同的 CSS

jquery - ajax html 加载后调用 jQuery 函数

javascript - 在 Canvas 中创建流畅的动画

css - 字体系列 : inherit not working for IE

javascript - 如何检查图像是否加载?