JS实现小图放大轮播效果
JS实现小图放大轮播页面效果入下(图片为优行商旅页面照片):

实现效果:
图片自动轮播,鼠标移入停止,移出继续轮播
点击下方小图可以实现切换
步骤一:建立HTML布局,具体如下:
<body>
<div id="carousel" class="carousel" onmouseover="stop()" onmouseout="again()">
<ul class="list" id="ulctrl">
<li class="trans"><span></span></li>
<li><span></span></li>
<li><span></span></li>
<li><span></span></li>
</ul>
</div>
</body>
其中div为图片轮播区域,li用于放置小图
步骤二:CSS布局
*{
            margin:;
            padding:;
        }
        ul{
            list-style: none;
            height:auto;
            position: absolute;
            top:95%;
            left:32%;
        }
        #carousel{
            width:100%;
            height:400px;
            background-image: url(images/1.jpg);
            background-repeat: no-repeat;
            background-position: center;
            position: relative;
        }
        li{
            float:left;
            margin-right: 20px;
        }
        span{
            display: block;
            width:110px;
            height:41px;
            background-size: 110px 41px;
            border:none;
        }
        li:nth-child(1) span{
            background-image: url(images/1.jpg);
            border:2px solid orange;
        }
        li:nth-child(2) span{
            background-image: url(images/2.jpg);
        }
        li:nth-child(3) span{
            background-image: url(images/3.jpg);
        }
        li:nth-child(4) span{
            background-image: url(images/4.jpg);
        }
通过定位使小图显示在下方,此时轮播区域显示的为第一张图片
步骤三:添加JS逻辑(其中该代码注释中的圆点是指轮播图下方小图)
let cnt=1;//计数器
let ulctrl=document.getElementById("ulctrl");//圆点控制器
let lis=ulctrl.children;//圆点们
let linow=lis[0];//初始化当前圆点为第一个
let clock;//声明计时器
var carousel=document.getElementById("carousel");//背景容器
for(let i=0;i<lis.length;i++){
//给圆点绑定函数,点击改变圆点样式和图片
lis[i].onclick=function (){
cnt=i+1;
carousel.style.backgroundImage="url(images/"+cnt+".jpg)";
for(let li of lis){
li.children[0].style.border = 'none';
}
this.children[0].style.border = '2px solid orange';
}
}
//改变圆点样式
function ctrl(){
linow.children[0].style.border = 'none';
linow=lis[cnt-1];
linow.children[0].style.border = '2px solid orange';
}
//鼠标覆盖轮播图,停止轮播
function stop(){
clearInterval(clock);//清除计时器
}
//鼠标离开轮播图,继续轮播
function again(){
clock=setInterval(this.start, 2000);//创建计时器
}
//轮播函数
function start(){
if(cnt==4){
cnt=1;
}else{
cnt++;//更新计数器
}
carousel.style.backgroundImage="url(images/"+cnt+".jpg)";
ctrl();//轮播状态下改变圆点样式
}
(function move(){
clock=setInterval(this.start, 2000);//创建计时器,2秒执行一次start函数
})();//自执行函数
JS实现小图放大轮播效果的更多相关文章
- JS实现焦点图轮播效果
		大家平时逛淘宝网的时候,在首页就能看到焦点图轮播的效果,就是这个样子的: PS:想起每每打开淘宝,总会被这个玩意先夺眼球,偶尔还去点进去溜溜,幸好我定力好,总能控制住自己的购买欲望,为自己不用剁手感到 ... 
- 通过jquery js 实现幻灯片切换轮播效果
		观察各个电商网址轮播图的效果,总结了一下主要突破点与难点 1.->封装函数的步骤与具体实现 2->this关键字的指向 3->jquery js函数熟练运用 如animate 4-& ... 
- js插件-图片椭圆轮播效果
		插件效果图: html 代码如下: <div id="container"> <img src="images/cartoon/1.jpg" ... 
- js实现简单的轮播效果
		<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- 针对淡入淡出的定时轮播效果js
		如果不使用jquery的fadeIn和fadeOut的接口和不适用animate情况下,如果要做用js实现淡入淡出轮播效果,我所想到的办法就是使用css3新特性transition(注意好兼容性). ... 
- JS、JQ实现焦点图轮播效果
		JS实现焦点图轮播效果 效果图: 代码如下,复制即可使用: (不过里面的图片路径需要自己改成自己的图片路径,否则是没有图片显示的哦) <!DOCTYPE html> <html> ... 
- Bootstrap插件之Carousel轮播效果(2015年-05月-21日)
		<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"& ... 
- Jquery实现左右轮播效果
		首先展示下静态布局h5代码,代码非常简单. <div id="slide"> <ul class="pic-list"> <li& ... 
- js的轮播效果
		图片的轮播效果!主要运用了元素的style样式属性,与 setInterval(); <!DOCTYPE html> <html> <head lang="en ... 
随机推荐
- 架构师养成记--34.Redis持久化
			---恢复内容开始--- redis是一个支持持久化的内存数据库,也就是搜redis需要经常将内存中的数据同步到硬盘来保证持久化.redis持久化有两种方式. snapshotting(快照)默认方式 ... 
- PHPStudy环境下搭建composer
			第一种方法(亲测有效) 1. 找到composer的安装目录:D:\phpstudy\PHPTutorial\tools\composer 2.把目录下的 composer.bat 和 compose ... 
- Java网络编程(一)
			Java网络编程: 1.1: 网络编程:对于我这个“研究不深”的网络菜鸟来说,我觉得网络编程就是实现计算机与计算机之间通信的编程.写些能够实现计算机与计算机之间的通信就行了(目前来说). 1.2:一台 ... 
- python-Lock进程同步解决互斥
			#!/usr/bin/python from multiprocessing import Process,Lock import time,sys def A(lock): with lock: f ... 
- PHP之string之chr()函数使用
			chr (PHP 4, PHP 5, PHP 7) chr - Return a specific character chr - 返回指定的字符 Description string chr ( i ... 
- nginx故障分析与记录
			本文是对于自己遇到nginx故障的一些记录.便于以后解决问题. 时间:2018_05_11 场景一:某天很多客户在群里反应说访问网站不了,报504错误. 环境:首先说明一点的就是公司网站是美国,日本等 ... 
- 将一个表的数据导入到另一个表的sql
			ALTER PROCEDURE [dbo].[usp_ea_Copy] ( @eaId int, @createdBy varchar(), @newEaId int output ) AS decl ... 
- ansible  回调函数处理
			https://www.u3v3.com/ar/1421 https://serversforhackers.com/c/running-ansible-2-programmatically 
- Linux进程管理之“四大名捕”
			一.四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”.内功卓越的高手“铁手”.腿功惊人的“追命”和剑法一流的“冷血”本文 ... 
- REDIS与MEMCACHED的区别  8大点
			如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储.2 Redis支持数据 ... 
