向幻灯片放映添加滚动显示样式
Adding rollover styles to slideshow
嗨,我有一个简单的JavaScript幻灯片,我想知道如何在幻灯片上添加淡出和淡入等幻灯片效果。这是幻灯片代码:
var i, imgs, pic;
function rotate()
{
pic.src = imgs[i] ;
(i === (imgs.length -1) ) ? i=0 : i++ ;
setTimeout( rotate, 5000 );
}
function init()
{
pic = document.getElementById("pic");
imgs = [ "/beta/images/img1.jpg", "/beta/images/img2.jpg", "/beta/images/img3.jpg", "/beta/images/img4.jpg" ] ;
var preload= new Array();
for( i=0; i< imgs.length; i++ )
{
preload[ i ] = new Image();
preload[ i ].src = imgs[ i ];
}
i=0;
rotate();
}
onload=init;
我尝试将我的rotate()
更改为:
function rotate()
{
pic.src = imgs[i] ;
(i === (imgs.length -1) ) ? i=0 : i++ ;
setInterval( rotate, 5000 );
$("#pic").fadeIn().show(10000).fadeOut();
}
它开始扰乱
检查此项:http://jsfiddle.net/codebombs/ukNmT/
我使用jQuery创建了一个具有渐变效果的简单幻灯片。
HTML代码
<div id='items'>
<div class='item first'>Item 1</div>
<div class='item'>Item 2</div>
<div class='item'>Item 3</div>
<div class='item'>Item 4</div>
<div class='item'>Item 5</div>
</div>
<ul id='controls'>
<li id='prev'>Prev</li>
<li id='play'>Play</li>
<li id='pause'>Pause</li>
<li id='next'>Next</li>
</ul>
CSS代码
#items {
position : relative;
width : 400px;
height : 200px;
top : 20px;
left : 20px;
}
.item {
position : absolute;
background-color : #eee;
border : 1px solid #ccc;
width : 398px;
height : 198px;
display :none;
text-align : center;
font-size : 72px;
}
.first{
display : block;
}
#controls {
margin-top : 30px;
}
li {
display : inline-block;
padding : 5px;
border : 1px solid #ccc;
background-color : #eee;
cursor : pointer;
}
#play {
display : none;
}
JavaScript代码
//To store timeout id
var timeoutId;
var slideImage = function( step ) {
if ( step == undefined ) step = 1;
//Clear timeout if any
clearTimeout ( timeoutId );
//Get current image's index
var indx = $('.item:visible').index('.item');
//If step == 0, we don't need to do any fadein our fadeout
if ( step != 0 ) {
//Fadeout this item
$('.item:visible').fadeOut();
}
//Increment for next item
indx = indx + step ;
//Check bounds for next item
if ( indx >= $('.item').length ) {
indx = 0;
} else if ( indx < 0 ) {
indx = $('.item').length - 1;
}
//If step == 0, we don't need to do any fadein our fadeout
if ( step != 0 ) {
//Fadein next item
$('.item:eq(' + indx + ')').fadeIn();
}
//Set Itmeout
timeoutId = setTimeout ( slideImage, 5000 );
};
//Start sliding
slideImage(0);
//When clicked on prev
$('#prev').click(function() {
//slideImage with step = -1
slideImage ( -1 );
});
//When clicked on next
$('#next').click(function() {
//slideImage with step = 1
slideImage ( 1 );
});
//When clicked on Pause
$('#pause').click(function() {
//Clear timeout
clearTimeout ( timeoutId );
//Hide Pause and show Play
$(this).hide();
$('#play').show();
});
//When clicked on Play
$('#play').click(function() {
//Start slide image
slideImage(0);
//Hide Play and show Pause
$(this).hide();
$('#pause').show();
});
相关文章:
- 如何在Angular JS中滚动显示元素
- 如何使文本在html中滚动显示
- 粘性滚动显示两张图像
- 更改滚动显示.js视口
- 通过页面滚动显示动画
- jQuery滚动显示隐藏的内容
- 在Foundation6中创建滚动显示当前位置的导航
- 使用jquery滚动显示页面侧面的元素
- 向幻灯片放映添加滚动显示样式
- 滚动显示svg动画
- 将淡入淡出添加到此jQuery滚动显示
- 动画滚动/显示隐藏元素使用jQuery
- Angularjs无限滚动显示数据
- Ionic无限滚动显示更多的项目已经加载(不是通过httprequest)
- 有没有“电影演职员表”滚动显示?样式插件的单词列表
- 使用knockout js滚动显示分页
- 从上到下滚动显示
- 滚动显示页脚
- HI滚动显示页眉
- 依次显示滚动显示动画