一直以来都没直视的轮播-_-

一直以来做项目碰到轮播图我都是去网站上找现成插件拿来用,现成的插件1是省时间,拿来改改尺寸改改参数就能直接用,2是现在的插件确实很强大,对于我一个刚刚学习前端的人来说,牛人写的轮播我看懂也要花些功夫,更别说在工作中写出来,估计写出来以后,整个项目都要因我延时了...

我做过的项目也不多,开始用的最多的就是bootstrap里面的轮播,具备最基础的功能,很适合我刚开始做项目用,最近我无意发现了一个更好用的轮播件(Swiper)这个插件在手机上有点意思,他可以实现手指触摸拖拽,还可以双指进行缩放,挺好用的,官网有中文的,上手挺容易的(你们还有什么好用的插件可以私信我^-^).

好了说正事 ,接触前端的应该都知道 轮播可以说刚开始学就必须应该

会的,不会那就太没面子了,面试问过我 ,我胸有成竹的叙述其实我心

里想着他要真让我拿出电脑写一个我还真的会蒙

今天下午有时间 ,我凭着用过这么多次的映像自己动手写了一个,真的是

最最最最基础的轮播。

我开始想写那种无缝的轮播,我是这么写的

<div id="slider">    <ul class="main">        <li><img src="img/banner1.jpg"></li>        <li><img src="img/banner2.jpg"</li>        <li><img src="img/banner3.jpg"></li>    </ul>    <ul class="index">        <li>1</li>        <li>2</li>        <li>3</li>    </ul></div>

外层slider{width:500px;height:400px;position:relative;overflow:hidden;},

.main{ float:left;width:1500px;position:absolute;left:0;top:0;transition:all linear .5s} //一张图片宽500px;

.mian>li{ float:left;}

像这样:

然后改变.main的left就可以了;我开始是这么想的,也这么做了,轮也能轮了,但是轮播图上index怎么弄,点击它还要跳到对应的图片上,想了好久

我放弃了,(日后我会解决得)

还有一种轮播,可能你已经想到了 那种改变图片透明度的轮播,我当时想这个好写啊,同样能实现作用,于是....上码!

主要css

.main>li{    position: absolute;    top:0;    left: 0;    opacity: 0;    transition: all linear .5s;}//三张叠放在一起

.main .active{    opacity: 1;}
.index .active{      width:12px;      height:12px;      border-radius: 12px;      background-color: red;  }
<script>    var i = 1;    $(‘.main>li:nth-child(‘+i+‘)‘).addClass(‘active‘).siblings(‘.active‘).removeClass(‘active‘);//img    $(‘.index>li:nth-child(‘+i+‘)‘).addClass(‘active‘).siblings(‘.active‘).removeClass(‘active‘);//index    var timer = setInterval(function () {        animate();    },1000);//    放在对应序号上,切换对应图片    $(‘.index>li‘).on(‘mouseenter‘,function(){    var index = $(this).html();    $(‘.main>li:nth-child(‘+index+‘)‘)    .addClass(‘active‘).siblings(‘.active‘)    .removeClass(‘active‘);//img

   $(‘.index>li:nth-child(‘+index+‘)‘)    .addClass(‘active‘).siblings(‘.active‘)    .removeClass(‘active‘);//index    });//    鼠标进入停止出来启动    $(‘#slider‘).hover(          function(){clearInterval(timer);},            function(){ timer = setInterval(            function(){ animate() },1000);}     );//    主体函数    function animate(){        ++i;        $(‘.main>li:nth-child(‘+i+‘)‘)        .addClass(‘active‘).siblings(‘.active‘)        .removeClass(‘active‘);//img        $(‘.index>li:nth-child(‘+i+‘)‘)        .addClass(‘active‘).siblings(‘.active‘)        .removeClass(‘active‘);//index        if(i==3){i=0}    };</script>

就这段复用性贼差,处理效率贼低的代码我写了半天,

虽然效率低,但还好的是,我下次说我会的时候会比之

前更有底气

??

微信公众号:web小小白

时间: 2024-08-10 11:29:42

一直以来都没直视的轮播-_-的相关文章

图片轮播_支持显示网络图片及下载图片至SD后再显示

现在的移动应用, 很常见的一个交互效果就是在首页顶部添加图片轮播的控件, 焦点图可以放入广告, 也可以放入文章的内容图片, 它们不断自动切换, 点击焦点图即跳至对应的界面. 交互效果很棒. 做图片轮播的效果, 方法并不少. 本文使用了常见的viewpager 去实现. 支持显示网络图片下载在缓存显示, 如果有SD卡则默认将图片下载至SD卡中再显示本地的图片. 其实网上这类代码已经很多,  应该也有很多写得比我好. 今天有点时间, 就做了个来练手, 顺便写下自己第一篇原创文章. 敲代码之前也参考了

实现一个图片轮播-3d播放效果

前言:最近在做一个音乐播放器,首页要做一个图片轮播,看了bootstrap的carousel插件以及移动端的swipe.js库,都是平面图片轮播的效果,所以自己想着实现类似网易云app里那种3d图片轮播的效果,所以写下此文 使用方法: 首先,引入Swipe.js和Swipe.css 定义轮播列表ul[data-ride="swipe"],然后每一个轮播项都加上类 class="item" : 1 <!DOCTYPE html> 2 <html la

css3无缝轮播图案例

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin: 0; padding: 0; } div{ width: 1000px; margin:300px auto; border:1px solid #ccc; overflow: hid

前端经典案例之轮播图

大部分网站或APP的首页差不多都运用到了轮播图,下边就探讨一下关于轮播图的集中解决方法,相关插件可自行去网站下载. 效果图: 方法一: 1.css样式代码: 1 <style> 2 div{ 3 width: 344px; 4 height: 199px; 5 overflow: hidden; 6 } 7 ul{ 8 width: 1042px; 9 } 10 li{ 11 display: inline-block; 12 } 13 </style> 2.html代码: 1 &

在轮播上添加标题文字

在网站建设中,大家都需要用到轮播图来展示各种内容,当然单单图片未免显的单调,我们经常需要在轮播图上添加标题,如何做到在轮播上添加标题文字呢? 在 这里我们需要给标题部分的div进行定位,需要用到position: absolute;position 属性规定元素的定位类型.说明一下:这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本 身是什么类型.相对定位元素会相对于它在正常流中的默认位置偏移. 除了absolute这个生成绝对定位的元

沉浸式图片轮播器 -- DDGBannerScrollView使用文档

写在前面 几乎每个app都会用到图片轮播器,而且图片轮播器也越来越高大上,沉浸式等拉高了APP的档次 ,没有一个高大上的图片轮播器,都不好意思上架. 像一些知名的app都采用了图片轮播的背景渐变色,举几个栗子:优酷的首页,喜马拉雅,蜻蜓fm,哔哩哔哩漫画等, page索引也是玩的很高大上,系统的早已满足不了了需求. 鉴于此和项目的需要,在前人的基础上,整理了一个这个库,志在简单的几句代码,就能让应用看上去高大上. github:[DDGBannerScrollView](https://gith

模仿东京首页banner轮播,京东新闻上下滚动动画实现(动画实现)

接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 首页banner动画实现 京东新闻上下动画实现 想着模仿京东首页呢,结果也没赶得及写完,轮播图让我搞了好长时间.也好,那就国庆8天好好的写一下,这里写了一半,先放着.先介绍一下这一半的内容.       还是老规矩,先放个图吧,虽然才一点点了 上线的banner大图和京东头条都是可以滚动的,抄写微信小程序社区官方qq群:390289365里 Nige

iOS开发UI篇—无限轮播(循环利用)

一.无限轮播  1.简单说明 在开发中常需要对广告或者是一些图片进行自动的轮播,也就是所谓的无限滚动. 在开发的时候,我们通常的做法是使用一个UIScrollView,在UIScrollView上面添加多个imageView,然后设置imageView的图片,和scrollView的滚动范围. 以前的做法: 一般而言,轮播的广告或者是图片数量都不会太多(3~5张).所以,并不会太多的去考虑性能问题.但是如果图片过多(比如有16张图片,就需要创建16个imageView),那么就不得不考虑性能问题

关于焦点轮播图的总结

目前来讲,在各大网站都会使用到焦点轮播图,因为它占用地方少,交互性好,是前端设计必须要掌握的技能之一. 原理:使用三层嵌套,最里层装载图片,图片需要浮动.最里层设置相对定位.然后再使用JavaScript设置一个定时器,每过一段时间便让最里层的块的left值改变. 而第二层则需要设置overflow:hidden:这个属性,否则将会导致这个层被子层撑大.不美观. 此图便为实现效果图. 下面先讲一讲如何布局. 首先布局分为三大块,一块为inner,包裹住所有的图片:一块为outer,决定展示的窗口