Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

轮播

作者头像
河湾欢儿
发布于 2018-09-06 08:51:53
发布于 2018-09-06 08:51:53
68600
代码可运行
举报
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        .banner{
            overflow: hidden;
            width: 1000px;
            height: 340px;
            position: relative;
            margin: 0 auto;
        }
        .banner img{
            display: block;
            width: 1000px;
            height: 340px;
            float: left;
        }
        .banner .inner{
            /*width: 10000px;*/
            height: 340px;
            position: absolute;
            left: 0;
        }
        .banner ul{
            position: absolute;
            right: 10px;
            bottom: 10px;
        }
        .banner ul li{
            list-style: none;
            float: left;
            background: blue;
            width: 18px;
            height: 18px;
            margin-left:10px;
            border-radius: 50%;
            cursor: pointer;
        }
        .banner a{
            display: none;
            position: absolute;
            width: 30px;
            height: 100px;
            background:url("img/btn.png") no-repeat;
            top: 50%;
            margin-top: -50px;
            opacity: 0.7;
        }
        .banner a:hover{
            opacity: 1;
        }
        .banner li.bg{
            background: red;
        }
        .banner .btnLeft{
            left: 0;
            background-position: 0 0;
        }
        .banner .btnRight{
            right: 0;
            background-position: right 0;
        }
    </style>
</head>
<body>
<div class="banner" id="banner">
    <div class="inner">
        ![](img/1.jpg)
        ![](img/2.jpg)
        ![](img/3.jpg)
        ![](img/4.jpg)
        ![](img/1.jpg)
    </div>
    <ul>
        <li class="bg"></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    <a href="javascript:;" class="btnLeft"></a>
    <a href="javascript:;" class="btnRight"></a>
</div>
<script>
    var banner=document.getElementById('banner');
    var inner=banner.getElementsByTagName('div')[0];
    var aimg=inner.getElementsByTagName('img');
    var oul=banner.getElementsByTagName('ul')[0];
    var ali=oul.getElementsByTagName('li');
    var leftBtn=banner.getElementsByTagName('a')[0];
    var rightBtn=banner.getElementsByTagName('a')[1];
    var imgWidth=aimg[0].offsetWidth;
    var step=0;
    var moveTimer=window.setInterval(autoMove,2000);


//   第一步改变inner的宽度
    ~function(){
        inner.style.width=aimg.length*imgWidth+'px';
    }();
//   开启定时器
     function autoMove(){
         if(step>=aimg.length-1){
            step=0;
            inner.style.left=0;
         }
         step++;
         inner.style.left=doMove(inner,100,-step*imgWidth);
         dian();
     }
     //运动框架
     function doMove(obj,dir,itarget){
        clearInterval(obj.timer);
        dir=obj.offsetLeft<itarget?dir:-dir;
        obj.timer=setInterval(function () {
            var speed=obj.offsetLeft+dir;
            if(speed>=itarget && dir>0){
                speed=itarget;
            }
            if(speed<=itarget && dir<0){
                speed=itarget;
            }
            obj.style.left=speed+'px';
            if(speed==itarget){
                clearInterval(obj.timer);
            }
        },30);
    }
     //焦点对齐
     function dian(){
         var tempStep=step>ali.length-1?0:step;
         for(var i=0;i<ali.length;i++){
             var curli=ali[i];
             if(tempStep==i){
                 curli.className='bg';
             }else{
                 curli.className='';
             }
         }
     }
     //点击小点点
     ~function () {
         for(var i=0;i<ali.length;i++){
             var curli=ali[i];
             curli.index=i;
             curli.onclick= function () {
                  step=this.index;
                  dian();
                 inner.style.left=doMove(inner,100,-step*imgWidth);
             };
         }
     }();
     //鼠标移入
     banner.onmouseover=function(){
         window.clearInterval(moveTimer);
         leftBtn.style.display='block';
         rightBtn.style.display='block';
     };
     banner.onmouseout= function () {
         moveTimer=window.setInterval(autoMove,2000);
         leftBtn.style.display='none';
         rightBtn.style.display='none';
     };
//   右按钮点击
     rightBtn.onclick=autoMove;
     leftBtn.onclick=function(){
         if(step<=0){
            step=4;
            inner.style.left=-step*imgWidth+'px';
         }
         step--;
         inner.style.left=doMove(inner,100,-step*imgWidth);
         dian();
     }

</script>
</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.01.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
原生JS编写的照片墙效果实例演示特效
<!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>照片墙一多实
欢醉
2018/01/22
4.3K0
原生JS编写的照片墙效果实例演示特效
定时器
var timer=setInterval(函数,毫秒); 重复执行 clearInterval(timer); 清空定时器
河湾欢儿
2018/09/06
3.1K0
手风琴
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> *{ padding: 0; margin: 0; } img{ width: 500px; height: 300px; } #div1
河湾欢儿
2018/09/06
1K0
js实现图片3D轮播效果(收藏)
3D的图片轮播效果很炫,写到这里只是为了不丢代码,不为别的。 效果预览: html代码: <head> <meta http-equiv="Content-Type" content="text/ht
何处锦绣不灰堆
2020/05/29
13.5K0
js实现图片3D轮播效果(收藏)
写一个简单的轮播组件
直接上代码 App.js文件 let list = [ { id: 1, img: require('./static/image/one.jpg') }, { id: 2, img: require('./static/image/two.jpg') }, { id: 3, img: require('./static/image/three.jpg') } ]
柴小智
2020/02/13
6050
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)
312334546574820.jpg 昨天给这个系列开了一个头,那么,今天继续吧。 3.4 登陆和注册按钮 导航栏已经做好了,那么一般来说,在标题栏的最右边就是登陆和注册按钮。 <div class='login'> <span><a href="javascript:void(0)">登陆</a></span> <span>|</span> <span><a href="javascript:void(0)">注册</a></span> </div> css样式: .hea
剽悍一小兔
2018/05/17
1.6K0
20171020
1.运动函数封装 1.一级 备注:接受两个参数,一个是被操作对象,另一个是目标位置, 缺陷:只能实现单一方向的运动 var one = document.getElementById("one"); 调用:animate(one,500); eg: function animate(obj,target){ clearInterval(timer); timer = setInterval(function(){ var
天天_哥
2018/09/29
4790
原生JS实现呼吸轮播图
今天给大家分享一个用原生JS实现的呼吸轮播图,效果如下: 以下是代码实现,欢迎大家复制粘贴。 <!DOCTYPE html> <html> <head> <meta charset="ut
越陌度阡
2020/11/26
9.4K0
原生JS实现呼吸轮播图
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
        1.3 中间区域盒子中使用无序列表进行排放图片,并且每个图片可以作为一个链接进行点击
杨校
2018/12/06
1.2K0
苏州园林景区网页设计 学生家乡网页设计作品静态HTML网页模板源码 DW大学生家乡主题网站制作 简单家乡介绍网页设计成品
家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有运用,CSS的代码量也很足、很细致,使用hover来完成过渡效果、鼠标滑过效果等,使用表格、表单补充模块,为方便新手学习页面中没有使用js有需要的可以自行添加。 --- @TOC 一、网页介绍📖 1 网页简介:此作品为学生个人主页网页设计题材,HTML+CSS 布局制作,we
IT司马青衫
2022/08/23
9630
苏州园林景区网页设计 学生家乡网页设计作品静态HTML网页模板源码 DW大学生家乡主题网站制作 简单家乡介绍网页设计成品
原生JS实现腾讯视频轮播图
给大家分享一个用原生JS实现的腾讯视频轮播图特效,实现效果如下: 以下是代码实现,欢迎大家复制粘贴。 <!DOCTYPE html> <html> <head> <meta http-equ
越陌度阡
2020/11/26
16.8K0
原生JS实现腾讯视频轮播图
【精编重制版】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)说明
本教程是,原文章发布系统教程的精编重制版,会包含每一节的源码,以及修正之前的一些错误。因为之前的教程只做到了评论模块,很多地方还不完美,因此重制版会修复之前的一些谬误和阐述不清的地方,而且,后期我会考虑完成该项目的后台管理。希望本教程提供的内容,可以成为JavaWeb初学者一套较为完整的练手项目。
剽悍一小兔
2018/12/12
1.4K0
JS动画效果
相信大家在很多门户网站上都可以看到动画的交互效果,通过这些动画生动地体现了我们在网页上的交互效果,现在我们就来学习一下这些动画效果的分解动作吧。作为学习了网页设计初步的一个进阶选修课。
1025645
2018/08/23
22.3K0
图片轮播(淡入淡出)--JS原生和jQuery实现
图片轮播(淡入淡出)--js原生和jquery实现 图片轮播有很多种方式,这里采用其中的 淡入淡出形式 js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成js使用,其实也就是用js原生模拟出这些用法。 但不管怎样,构造一个最基本的表现层是必须的
书童小二
2018/09/03
24.5K0
图片轮播(淡入淡出)--JS原生和jQuery实现
前端分享|Html+CSS+JS 实现轮播切换
说明:Windows操作系统在终端区域中您可以使用右键粘贴命令,macOS系统在终端区域中您可以使用command+shift+v快捷键粘贴命令。
六月暴雪飞梨花
2023/11/27
5140
前端分享|Html+CSS+JS 实现轮播切换
WEB前端期末实训大作业---我的家乡
该网页从宣传自己的家乡出发,设计到家乡的旅游观光,生态环保,现代农业,人文精神,总共设计了五个页面,主要使用的布局房市flex布局,运用最基本的HTML内容。
用户10950404
2024/07/30
1660
WEB前端期末实训大作业---我的家乡
轮播图技术实战
张哥编程
2024/12/13
1160
【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第三节)
3.6.6 轮播图的基本实现 上一节中,轮播图已经做了一大半,我今天上午抽空把剩下的代码写完了。现在就大概说一下思路吧。 实现上一张和下一张的效果,基本上就是改变ul的margin-left值。为了保证无缝滚动,我们需要在5张图片的首部和尾部各加一张图片。像这样: <ul> <li class='fl'> <a href="javascript:void(0)"> <img src="5.jpg "/> </a> </li>
剽悍一小兔
2018/05/17
1.3K0
轮播图的制作大全
你需要确保HTML结构中的轮播图容器有一个ID,并且每个幻灯片都有.slide类。这个类包含了基本的轮播逻辑,如自动播放和响应键盘事件。
Insecure Fluoxetine
2024/07/03
1620
轮播图的制作大全
原生JS实现动画中的布局转换
在用JS编写动画的时候,经常用会到布局转换,即在运动前将相对定位转为绝对定位,然后执行动画函数。下面给大家分享一个运用原生JS实现的布局转换的Demo,效果如下:
越陌度阡
2020/11/26
2.7K0
原生JS实现动画中的布局转换
推荐阅读
相关推荐
原生JS编写的照片墙效果实例演示特效
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验