简单焦点图实现

最近学习了用js实现简单的焦点图,没有对应的后台操作,只是简单的html中实现,基本实现的功能为:当打开页面后,自定义的图片按顺序自动切换,当鼠标移到图片上时,图片停止切换,当再次离开时,继续自动切换图片,旁边的按钮也类似,当鼠标移到按钮时,按钮背景色改变,图片切换到对应按钮该显示的图片,并停止自动切换,离开按钮时恢复到初始.其他的也没什么好说的,挺简单的代码,直接上代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
 <head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <title> new document </title>
  <meta name="generator" content="editplus" />
  <meta name="author" content="" />
  <meta name="keywords" content="" />
  <meta name="description" content="" />
  <link rel="stylesheet" type="text/css" href="init.css" /><!--css初始化,去除标签默认表现-->
  <style type="text/css">
    *{
        padding:0px;
        margin:0px;
        cursor:pointer;
    }
    #d1{
        width:430px;
        height:240px;
    }
    #d1 img{
        width:384px;
        float:left;
    }
    #d1 p{
        width:30px;
        float:left;
        margin-left:5px;
        margin-top:5px;
    }
    #d1 p a{
        target:_blank;
    }
    #d1 p input{
        width:20px;
        border:1px solid grey;
        margin-bottom:7px;
    }
  </style>
  <script type="text/javascript">
  var t1;
  var attr=["1.jpg","2.jpg","3.jpg","4.jpg","5.jpg","6.jpg"];//图片名称,数组存储,用数组下标访问,图片名称有没有规律都可以实现
  var img;
  var n=1;//图片初始为第一个
    window.οnlοad=function(){
        t1=setInterval("bianhua()",1000);//定时器,用于自动变换图片
        img=document.getElementById("img1");
        img.onmouseover=jinru;
        img.onmouseout=likai;
        var btns=document.getElementsByTagName("input");
        for(var i=0;i<btns.length;i++){
            var btn=btns[i];
            btn.onmouseover=jinru;
            btn.onmouseout=likai;
        }
    }
    //鼠标进入图片的方法
    function jinru(){
        if(this.type=="button"){
            n=this.value-1;
            this.style.backgroundColor="#ffccff";
            img.src="images/"+attr[n];
        }
        window.clearInterval(t1);
    }
    //鼠标离开图片的方法
    function likai(){
        if(this.type=="button"){
            n=this.value;
            this.style.backgroundColor="";
        }
        t1=setInterval("bianhua()",1000);
    }
    //设定要显示的图片,当n超过图片的数量后,将其归零,从第一张图片重新开始
    function bianhua(){
        if(n>=attr.length){
            n=0;
        }
        img.src="images/"+attr[n];
        n++;
    }
  </script>
 </head>

 <body>
  <div id="d1">
    <img src="images/1.jpg" id="img1"/>
    <p>
        <a href="http://wwww.baidu.com"><input type="button" value="1"/></a>
        <input type="button" value="2"/>
        <input type="button" value="3"/>
        <input type="button" value="4"/>
        <input type="button" value="5"/>
        <input type="button" value="6"/>
    </p>
  </div>
 </body>
</html>
View Code

转载于:https://www.cnblogs.com/NieXiaoHui/p/4820267.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML焦点轮播可以使用CSS和JavaScript实现。以下是一种常见的实现方法: 首先在HTML中创建一个包含轮播的容器,例如: ```html <div class="slider"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.jpg" alt="Image 3"> </div> ``` 然后在CSS中设置容器的样式,例如: ```css .slider { position: relative; height: 400px; overflow: hidden; } .slider img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 0.5s ease-in-out; } .slider img.active { opacity: 1; } ``` 这里的样式将容器设置为相对定位,高度为400px,隐藏溢出部分。每个像都绝对定位,并在开始时设置为不透明度为0,并且有一个0.5秒的渐变过渡效果。最后,`.active`类将在当前像上设置,使其不透明度为1。 最后,在JavaScript中编写代码切换像。这可以使用计时器和类切换来完成,例如: ```javascript var slideIndex = 0; var slides = document.getElementsByClassName("slider")[0].getElementsByTagName("img"); function showSlides() { for (var i = 0; i < slides.length; i++) { slides[i].classList.remove("active"); } slideIndex++; if (slideIndex > slides.length) { slideIndex = 1; } slides[slideIndex-1].classList.add("active"); setTimeout(showSlides, 5000); // 切换时间间隔为5秒 } showSlides(); ``` 这里的代码将获取所有像元素并将它们存储在`slides`数组中。然后,`showSlides`函数将在每5秒钟调用一次,并将`.active`类从所有像中删除,然后将其添加到下一个像中。如果已经达到最后一个像,那么将从第一个像开始重新开始。 通过这些步骤,就可以创建一个简单的HTML焦点轮播了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值