JQuery实现简单的轮播图基本思路

demo点这里

需要达到的效果

常见的轮播图组件
自动翻页,左右跳转按钮,下方是index
index显示了当前图片位置,左右按钮就是更改当前位置
第一个版本暂时不定义api了,写简单点

大概思路

用banner隐藏超出部分的图片
imageList是inline
要显示的话就float到标签位置

首先是html

从sublime换了webstorm,自带了emmet插件
也就是可以这样写
div.wrapper>div.banner>ul.imageList>(li>img)*4^img+img>ul.indexList>(li>img)*4
tab之后就是这个效果了:

1234567891011121314151617
<div class="wrapper">    <div class="banner">        <ul class="imageList">            <li><img src="" alt=""></li>            <li><img src="" alt=""></li>            <li><img src="" alt=""></li>            <li><img src="" alt=""></li>        </ul>        <img src="" alt=""><img src="" alt="">        <ul class="indexList">            <li><img src="" alt=""></li>            <li><img src="" alt=""></li>            <li><img src="" alt=""></li>            <li><img src="" alt=""></li>        </ul>    </div></div>

emmet还是挺方便的

css

为了使banner遮挡其他元素,overflow:hidden
然后 imgList的li 全部都float:left,display:inline
这样的话就可以在后面左右滑了
左右按键和indexList需要用position:absolute来定位
这俩就用绝对值50%再margin一个负值来居中

jquery

主要是通过一个changeTo()来完成到指定图片的跳转
三个直接事件:自动换、点击左右、点击indexList
都是对changeTo()的不同调用:

12345
function changeTo(num){     var goLeft = num * 800;    $(".imgList").animate({left: "-" + goLeft + "px"},500);    $(".indexList").find("li").removeClass("indexOn").eq(num).addClass("indexOn");  }

还有就是通过设置全局变量的方法来添加一个循环:

12345678
var autoChange = setInterval(function () {    if(index<3){        index++    }else {        index=0    }    changeTo(index)},1000);

js代码中需要用到重新开始循环(如wrapper:hover
只需要重新为autoChange赋相同的值即可再开始循环

时间: 2024-08-03 19:24:46

JQuery实现简单的轮播图基本思路的相关文章

jQuery实现简单的轮播图

先看效果,如果是你想要的,可以看看总体思路: 1.自动轮播2.指定轮播3.左右翻动 详细步骤:jQuery部分 设置第一张图片显示,其他的兄弟元素隐藏 自动轮播的时候,指定第一张的索引为 i=0,然后 i++, 使其对应的 i 索引的图片显示,其他的隐藏,当 i=5(即第六张图片的时候,使其为第一张即可,否则我们没有第六张图片就不显示了). 指定图片轮播,就是鼠标移动到白圈上显示对应的图片,并计时器停止,我们可以看看图片上的内容,有的轮播图计时器还是继续的,看不了什么内容:鼠标离开则继续轮播.

实现比较简单的轮播图效果

实现简单的轮播图效果. 废话不多说,我们开始. HTML和CSS较为简单,不在这里做赘述.简单的给大家一个HTML代码. <div class="carousel"> <div id="goLeft"></div> <ul> <li><img src="" /></li> <li><img src="" /></l

JQuery教程:实现轮播图效果

轮播图说起来非常简单,就是几张图片一直不停的轮流播放,但是要想写好代码,也要考虑下性能问题,下面我们来简单的实现一下. 首先,页面代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" type="text/css" href=&q

jquery简单无缝轮播图实现

此简单轮播图布局原理是: 一个div包含图片列表,和控制按钮.其宽度等于图片的宽度,溢出隐藏. 图片要左浮动. jquery原理: 开一个定时器,隔一段时间执行图片列表向左移动一个图片的宽度,同时在移动时设置一个回调函数. 把向左移动的图片,也是图片列表的第一张图片,添加到图片列表ul的末尾. 这样实现了,图片自动播放的效果. 怎么带动图片控制的小按钮变亮? 因为每一次图片轮播,都会改变图片值得索引,那就给函数加一个变量 i ,每一次执行定时器都会i++: var spanindex=i%4;

使用jQuery写一个简单的轮播图

html代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" /> <title>轮播图练习</title> <link rel="stylesheet" href="css/css.css" type="text/css"/></head>

jQuery淡入淡出效果轮播图

用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div. html结构如下: <div id="container"> <ul class="pic"> <li><a href="javascript:;"><img src="DSC01627.jpg"

jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>轮播图</title> <style> *{padding: 0;margin: 0;list-style-type: none;} .wrap{width: 520px;height: 280px;margin: 50px auto;} .ba

【前端】javascript+jQuery实现旋转木马效果轮播图slider

实现效果: 实现原理: 技术栈: javascript+jQuery+html+css 实现步骤: // 0. 获取元素 // 1. 鼠标放置到轮播图上,显示两侧的控制按钮,移开后隐藏 // 2. 为两侧控制按钮绑定事件(调用同一个方法,只有一个参数,true为正向旋转,false为反向旋转) 实现代码: <!DOCTYPE html> <html> <head> <title>旋转木马效果轮播图</title> <meta charset

前端框架之jQuery(二)----轮播图,放大镜

事件 页面载入   ready(fn)  //当DOM载入就绪可以查询及操纵时绑定一个要执行的函数.   $(document).ready(function(){}) -----------> $(function(){}) 事件处理   $("").on(eve,[selector],[data],fn)  // 在选择元素上绑定一个或多个事件的事件处理函数.    //  .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如:   //  $('u