【JavaScript】案例二:使用JS完成首页轮播图效果——事件(onclick&onload)
2024-09-06 12:02:52
1.切换图片例子:
事件(onclick)
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>切换图片</title>
<style>
div {
border: 1 px solid white;
width: 500px;
height: 350px;
margin: auto; /**文字居中*/
text-align: center;
}
</style>
</head>
<script>
var i = 1;
function changeImg() {//两张图片循环播放
i++;
document.getElementById("img1").src = "../../img/" + i + ".jpg";
if (i == 2) {
i = 0;
}
}
</script> <body>
<div>
<input type="button" value="下一张" onclick="changeImg()" />
<img src="../../img/1.jpg" width="" id="img1" />
</div>
</body> </html>
结果:
2.轮播图
技术分析:
获取元素 document.getElementById(“id 名称”)
事件(onload)
定时操作:setInterval(“changeImg()”,3000); //第二个参数是毫秒
步骤分析:
第一步:确定事件(onload)并为其绑定一个函数
第二步:书写绑定的这个函数
第三步:书写定时任务(setInterval)
第四步:书写定时任务里面的函数
第五步:通过变量的方式,进行循环(获取轮播图的位置,并设置 src 属性)
*注意:循环时最后一个图片要重置。
*注意点:
- 在body标签内写onload
- window.setInterval("changeImg()", 3000); //window可以省略不写
- document.getElementById("img1").src = "../img/" + i + ".jpg"; /**获取图片位置并设置src属性值*/
代码实现
JS部分:
<script>
function init() {
//书写轮播图片显示的定时操作(3秒)
window.setInterval("changeImg()", 3000); //window可以省略不写
} //书写函数
var i = 0; function changeImg() {
i++;
//获取图片位置并设置src属性值
document.getElementById("img1").src = "../img/" + i + ".jpg";
if (i == 2) {
i = 0;
}
}
</script>
HTML部分:(在指定位置定义 id)
<body onload="init()">
<!--3.轮播图片-->
<div id="">
<img src="../img/1.jpg" width="100%" id="img1" /><!--记得加上id-->
<!--设置id-->
</div>
最新文章
- Java 线程同步
- Slave2: no datanode to stop(权限)
- 【leetcode】Substring with Concatenation of All Words
- ELF--动态链接
- 让backspace键默认为删除键
- BZOJ 3971 Матрёшка 解题报告
- 修改app名字
- Activity设置singleTask无法通过Intent获取值的问题
- hdu_2147_kiki&#39;s game(博弈)
- php Yii2 报错unexpected &#39;}&#39;
- 《Metasploit魔鬼训练营》第三章
- 【Matlab编程】Matlab高效编程技巧
- Android Nine-patch(.9.png)小结
- Eclipse 设置保存代码时自动格式化
- Oracle分析函数-rank() over(partition by...order by...)
- vim移动一行或一段代码
- 个人博客地址: furur.xyz
- nginx 的 负载均衡
- 主成分分析(PCA)算法,K-L变换 角度
- Tomcat 安全设置 及 内存修改
热门文章
- wait函数和waitpid的使用和总结
- 《Three js开发指南》 PDF
- oracle--10安装问题
- oracle--drop user 和 drop user cascade 的区别【转载】
- Pandas中查看列中数据的种类及个数
- js 宏任务和微任务
- OpenCV vs. Armadillo vs. Eigen on Linux
- Blend 设置一个圆形的按钮
- template might not exist or might not be accessible by any of the configured Template Resolvers 完美解决
- 2019 农信互联java面试笔试题 (含面试题解析)