哈哈,第一个作品。很庆幸能成功运行啦啦代码如下:html代码:
<html>
<head><title>图片自动切换演示</title>
<link href="./css.css" rel="stylesheet" type="text/css" />
<script src="./jquery.min.js" type="text/javascript"></script>
<script src="./js.js" type="text/javascript"></script>
</head>
<body>
<div id="imgbox">
<a href="#"><img src="./img/1.jpg" /></a>
<a href="#"><img src="./img/2.jpg" /></a>
<a href="#"><img src="./img/3.jpg" /></a>
<a href="#"><img src="./img/4.jpg" /></a>
<a href="#"><img src="./img/5.jpg" /></a>
<a href="#"><img src="./img/6.jpg" /></a>
<div id="num">
<li>1</li><li>2</li> <li>3</li><li>4</li> <li>5</li><li>6</li>
</div>
</div>
</body>
</html>
JQuery代码:
$(document).ready(function(){
var num=1;
var pause;
var show=function(Y){
$('img').css({'left':'-400px'});
$('img').eq(Y).css({'left':'0px'});
$('li').removeClass("color");
$('li').eq(Y).addClass("color");
};
var run=function(){
show(num);
num=(num!=5)?(num+1):0;
pause=setTimeout(run,5000);
};
$('li').hover(function(event){
clearTimeout(pause);
num=$(this).text()-1;
show(num);
},
function(){
num=(num!=5)?(num+1):0;
pause=setTimeout(run,2000);
});
show(0);
pause=setTimeout(run,5000);
});
css代码:
* {
border:0 solid;
margin:0;
padding:0;
}
#imgbox {
border:5px;
position:relative;
margin:30px 0px 0px 50px;
over-flow:hidden;
width:300px;
height:300px;
z-index:2;
}
#num {
position:absolute;
width:150px;
left:170px;
top:278px;
z-index:3;
}
li {
position:relative;
text-align:center;
float:left;
width:15px;
height:10px;
background-color:#C0C0C0;
margin-left:5px;
cursor:pointer;
}
img {
position:absolute;
left:-400px;
top:0px;
width:300px;
height:300px;
}
.color {
background-color:#9ACD32;
font-size:18px;
}
<html>
<head><title>图片自动切换演示</title>
<link href="./css.css" rel="stylesheet" type="text/css" />
<script src="./jquery.min.js" type="text/javascript"></script>
<script src="./js.js" type="text/javascript"></script>
</head>
<body>
<div id="imgbox">
<a href="#"><img src="./img/1.jpg" /></a>
<a href="#"><img src="./img/2.jpg" /></a>
<a href="#"><img src="./img/3.jpg" /></a>
<a href="#"><img src="./img/4.jpg" /></a>
<a href="#"><img src="./img/5.jpg" /></a>
<a href="#"><img src="./img/6.jpg" /></a>
<div id="num">
<li>1</li><li>2</li> <li>3</li><li>4</li> <li>5</li><li>6</li>
</div>
</div>
</body>
</html>
JQuery代码:
$(document).ready(function(){
var num=1;
var pause;
var show=function(Y){
$('img').css({'left':'-400px'});
$('img').eq(Y).css({'left':'0px'});
$('li').removeClass("color");
$('li').eq(Y).addClass("color");
};
var run=function(){
show(num);
num=(num!=5)?(num+1):0;
pause=setTimeout(run,5000);
};
$('li').hover(function(event){
clearTimeout(pause);
num=$(this).text()-1;
show(num);
},
function(){
num=(num!=5)?(num+1):0;
pause=setTimeout(run,2000);
});
show(0);
pause=setTimeout(run,5000);
});
css代码:
* {
border:0 solid;
margin:0;
padding:0;
}
#imgbox {
border:5px;
position:relative;
margin:30px 0px 0px 50px;
over-flow:hidden;
width:300px;
height:300px;
z-index:2;
}
#num {
position:absolute;
width:150px;
left:170px;
top:278px;
z-index:3;
}
li {
position:relative;
text-align:center;
float:left;
width:15px;
height:10px;
background-color:#C0C0C0;
margin-left:5px;
cursor:pointer;
}
img {
position:absolute;
left:-400px;
top:0px;
width:300px;
height:300px;
}
.color {
background-color:#9ACD32;
font-size:18px;
}
现在给你增加难度 不用jquery等js框架 在写一个一样的
另外,建议动态计算num的位置,这样不会导致减少图片时样式太乱。
考虑一下增加两个效果:
1、当鼠标移动到imgbox范围内的时候,停止自动播放,移开的时候继续自动播放,这里需要注意事件对象的判断
2、增加一个自动播放的进度条,当停止自动播放的时候,进度条暂停,恢复自动播放的时候继续。
总之,非常感谢您的指导。
$(document).ready(function(){
var num=1;
var pause;
var sum=$('li').length-1;
var show=function(Y){
$('img').css({'left':'-400px'});
$('img').eq(Y).css({'left':'0px'});
$('li').removeClass("color");
$('li').eq(Y).addClass("color");
};
var run=function(){
show(num);
num=(num!=sum)?(num+1):0;
pause=setTimeout(run,5000);
};
$('li').hover(function(event){
clearTimeout(pause);
num=$(this).text()-1;
show(num);
},
function(){
num=(num!=sum)?(num+1):0;
pause=setTimeout(run,2000);
});
$('img').hover(function(event){
clearTimeout(pause);
},
function(){
pause=setTimeout(run,2000);
});
show(0);
pause=setTimeout(run,5000);
});