页面轮播图的js写法

首先CSS和HTML就不说了。说一下需要注意的点

1.自动播放 aotoChange
2.手动点击切换 给每个链接绑定响应函数
3.自动设置链接切换的相应 setA()
4.左右翻页button的函数
5.解决翻页上限,切换页面时候的css里面的hover是否管用等问题;

做出如图的界面
在这里插入图片描述
下面放上js的代码:

<script type="text/javascript">
            window.onload=function(){
                var header2=document.getElementById("header2")
                var button1=document.getElementById("button1")
                var button2=document.getElementById("button2")
                var allA=header2.getElementsByTagName("a")
                var img=document.getElementById("five")
                var arr1=['3.jpg','4.jpg',"5.jpg","6.jpg","7.jpg","8.jpg"]
                var index=0
                var timer
                //默认图片
                img.src="3.jpg"
                //默认链接
                allA[index].style.backgroundColor="red"
                
                //为每一个链接绑定响应函数
                for(var i=0;i<allA.length;i++){
                    //用来标记是哪一个链接
                    allA[i].num=i;
                    allA[i].onclick=function(){
                        clearInterval(timer)
                        index=this.num
                        img.src=arr1[index]
                        setA()
                        autoChange()
                    }
                }
                autoChange()
                button1.onclick=function(){
                        clearInterval(timer)
                        index=(--index+5)%5
                        img.src=arr1[index]
                        setA()
                        autoChange()
                    }
                button2.onclick=function(){
                    clearInterval(timer)
                    index=(++index)%5
                    img.src=arr1[index]
                    setA()
                    autoChange()
                }
                function autoChange(){
                    timer=setInterval(function(){
                        index=(++index)%5
                        img.src=arr1[index]
                        setA()
                    },2000)
                    
                }
                function setA(){
                    for(var i=0;i<allA.length;i++)
                    {
                        allA[i].style.backgroundColor=""
                    }
                    allA[index].style.backgroundColor="red"
                }
            }

这里的把setA()里面的设置成是因为覆盖内联样式,让css里面的效果展示出来!可以做到hover的效果。
每次点击相应函数时候关闭**autoChange()**的定时器,然后重新计时,这样可以避免时间上的问题!
谢谢大家观看!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上天注定的姻缘最大嘛!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值