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实现小图放大轮播效果的更多相关文章

  1. JS实现焦点图轮播效果

    大家平时逛淘宝网的时候,在首页就能看到焦点图轮播的效果,就是这个样子的: PS:想起每每打开淘宝,总会被这个玩意先夺眼球,偶尔还去点进去溜溜,幸好我定力好,总能控制住自己的购买欲望,为自己不用剁手感到 ...

  2. 通过jquery js 实现幻灯片切换轮播效果

    观察各个电商网址轮播图的效果,总结了一下主要突破点与难点 1.->封装函数的步骤与具体实现 2->this关键字的指向 3->jquery js函数熟练运用 如animate 4-& ...

  3. js插件-图片椭圆轮播效果

    插件效果图: html 代码如下: <div id="container"> <img src="images/cartoon/1.jpg" ...

  4. js实现简单的轮播效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 针对淡入淡出的定时轮播效果js

    如果不使用jquery的fadeIn和fadeOut的接口和不适用animate情况下,如果要做用js实现淡入淡出轮播效果,我所想到的办法就是使用css3新特性transition(注意好兼容性). ...

  6. JS、JQ实现焦点图轮播效果

    JS实现焦点图轮播效果 效果图: 代码如下,复制即可使用: (不过里面的图片路径需要自己改成自己的图片路径,否则是没有图片显示的哦) <!DOCTYPE html> <html> ...

  7. Bootstrap插件之Carousel轮播效果(2015年-05月-21日)

    <!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"& ...

  8. Jquery实现左右轮播效果

    首先展示下静态布局h5代码,代码非常简单. <div id="slide"> <ul class="pic-list"> <li& ...

  9. js的轮播效果

    图片的轮播效果!主要运用了元素的style样式属性,与 setInterval(); <!DOCTYPE html> <html> <head lang="en ...

随机推荐

  1. 高斯分布(Gaussian Distribution)的概率密度函数(probability density function)

    高斯分布(Gaussian Distribution)的概率密度函数(probability density function) 对应于numpy中: numpy.random.normal(loc= ...

  2. 6、TensorFlow基础(四)队列和线程

    队列和线程 和 TensorFlow 中的其他组件一样,队列(queue)本身也是图中的一个节点,是一种有状态的节点,其他节点,如入队节点(enqueue)和出队节点(dequeue),可以修改它的内 ...

  3. SSAS 收藏

    1.多事实表 SQL实现和SSAS中MDX实现的差异 2.层次结构 3.MDX常用几种查询对比 4.一段话理解 MDX中的Select .轴.COLUMNS.ROWS 5.[转载]MSDN-MDX#0 ...

  4. Codeforces Round #556 (Div. 2)-ABC(这次的题前三题真心水)

    A. Stock Arbitraging 直接上代码: #include<cstdio> #include<cstring> #include<iostream> ...

  5. Jexus高级功能设置

    我们对服务器软件Jexus作了简单的介绍,同时我们也对Jexus的整体配置作了详细的讲解,介绍了Jexus的进程守护工具"jws.guard",相信各位读者对于Jexus应该已经有 ...

  6. docker 日志管理

    高效的监控和日志管理对保持生产系统持续稳定地运行以及排查问题至关重要. 在微服务架构中,由于容器的数量众多以及快速变化的特性使得记录日志和监控变得越来越重要.考虑到容器短暂和不固定的生命周期,当我们需 ...

  7. 爬虫URL去重

    这个要看你想抓取的网页数量是哪种规模的.如果是千万以下用hash表, set, 布隆过滤器基本可以解决,如果是海量的......嗯我也没做过海量的,不过hash表之类的就别想了,内存根本不够,分割线下 ...

  8. 网站变灰css

    html{ filter: grayscale(100%); -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-fi ...

  9. Java:对象的强、软、弱和虚引用的区别

    1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK ...

  10. ES6-Async & 异步

    依赖文件地址 :https://github.com/chanceLe/ES6-Basic-Syntax/tree/master/js <!DOCTYPE html> <html&g ...