清除窗口Javascript幻灯片
clear window Javascript Slideshow
我正在尝试在javascript中制作一个滑动节目,并走到了这一步:
<script type="text/javascript">
function showPic1(){
document.write("<img src='"http://haga.mizgalski.se/upload/upload/bild1.jpg'" width='"400'" height='"300'">");
setTimeout(showPic2, 5000);
}
function showPic2(){
document.write("<img src='"http://haga.mizgalski.se/upload/upload/image2.jpg'" width='"400'" height='"300'">");
setTimeout(showPic1, 9000);
}
showPic1();
</script>
但我的问题是什么时候应该改变图片,它只是在第一张旁边添加了一张新图片。如何清除窗口?
http://jsfiddle.net/QU2bX/
<head>
<style>
body {
padding: 5px;
border-left: 2px dotted brown;
text-align: center;
}
img,input,div {
margin: 0;
}
img {
box-shadow: 0px 0px 10px rgba(20,20,20,0.5);
}
</style>
</head>
<body>
<img src="http://placehold.it/350x200" id="pic"/>
<hr/>
<input type="button" value="Start" onclick="init();"/>
<input type="button" value="Stop" onclick="abort();"/>
<script>
var l = 6;
var pictures = new Array(l);
var c = 0;
var img = document.querySelector('#pic');
for(var i=0;i<l;i++) {
pictures[i] = 'http://placehold.it/350x' + parseInt(Math.random() * 100);
}
console.log(pictures);
img.src= pictures[c];
function animate() {
img.src= pictures[c];
if(c == l-1) {c = -1;}
c += 1;
}
function init() {
window.timer = setInterval(animate,1000);
}
function abort() {
if(window.timer) {clearInterval(timer);}
}
</script>
</body>
一种方法是为您的<img>
标签提供 ID,然后在插入新标签之前将它们从 DOM 中删除:
function showPic1(){
var oldpic = document.getElementById("pic2");
oldpic.parentNode.removeChild(oldpic);
document.write("<img src='"http://haga.mizgalski.se/upload/upload/bild1.jpg'" width='"400'" height='"300'" id='"pic1'">");
setTimeout(showPic2, 5000);
}
function showPic2(){
var oldpic = document.getElementById("pic1");
oldpic.parentNode.removeChild(oldpic);
document.write("<img src='"http://haga.mizgalski.se/upload/upload/image2.jpg'" width='"400'" height='"300'" id='"pic2'">");
setTimeout(showPic1, 9000);
}
不要为幻灯片创建新图像,而是使用单个img
标签,并每隔一段时间将其src
属性替换为新图像。 为此,您可以使用Javascript的setTimeout()
方法。
使用 document.write 是个坏主意,因为它会覆盖页面上的任何代码。 最好有一个带有 id 的div,并通过 javascript 更改div 的 html。
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function showPic1(){
$('#test').html("<img src='http://haga.mizgalski.se/upload/upload/bild1.jpg' width='400' height='300'>");
setTimeout(showPic2, 5000);
}
function showPic2(){
$('#test').html("<img src='http://haga.mizgalski.se/upload/upload/image2.jpg' width='400' height='300'>");
setTimeout(showPic1, 9000);
}
showPic1();
</script>
<div id="test"><img src='http://haga.mizgalski.se/upload/upload/bild1.jpg' width='400' height='300'></div>
这样的东西效果很好。
相关文章:
- 幻灯片滚动javascript不起作用
- JavaScript幻灯片显示,每个幻灯片的下一个按钮都有不同的位置
- 如何使用HTML、CSS和JavaScript创建自动图片库幻灯片
- 使用javascript动态选择幻灯片放映的图像
- 旧的javascript幻灯片只显示wihtout幻灯片(onclick)
- Javascript幻灯片淡出
- 使用javascript创建幻灯片效果
- 如何更改幻灯片放映的javascript数组中图片的大小
- JavaScript中的幻灯片不起作用
- 使用数据幻灯片到和javascript将类添加到转盘导航
- HTML Javascript 幻灯片优化
- 我已经用javascript制作了一个幻灯片,但我不知道如何让我的照片发呆
- 清除窗口Javascript幻灯片
- Google Drive SDK JavaScript:上传ppt(x)并将其转换为演示文稿(Google幻灯片)
- 如何在Javascript中用URL链接不同的幻灯片图像
- 在仅幻灯片 JavaScript 上添加播放/暂停按钮
- 背景幻灯片(javascript)渐变效果
- 添加淡出效果在幻灯片(Javascript)
- 制作动画中的幻灯片JavaScript和HTML
- 需要帮助与幻灯片JavaScript