简单实现jquery轮播图
首先需要定义个切换图片的funcation
1、找到图片所在li,将其显示出来,并缩放1.1倍
2、其他兄弟li,渐变隐藏,并还原至原大小比例
3、将底部的圆点列表ul中对应的li,添加样式,其他兄弟元素移除该样式
function changeimg(a){
$('.imgs li ').eq(a).fadeIn(500).css("transform" ,"scale(1.1)").
siblings().fadeOut('slow').css("transform" ,"scale(1.0)");
$('.btn-list li').eq(a).addClass('active-list').siblings().removeClass('active-list');
};
写一个自动播放的funcation,实现每5秒自动切换
1、定义一个全局 time,和set
2、设置每5秒切换一次图片
function autoplay(){
time = setInterval(function(){
set++ ;
if(set > len -1 )
{
set = 0 ;
}
changeimg(set) ;
} , 5000);
};
给切换按钮绑定事件
1、点击切换按钮时候,得先停止自动播放
2、根据所点击的按钮将全局变量set自增或者自减
3、将自动播放开启
//btn
//up
$('.btn .up').click(function(){
clearInterval(time) ;
set-- ;
if(set < 0 )
{
set = len-1 ;
}
changeimg(set) ;
autoplay() ;
});
//down
$('.btn .down').click(function(){
clearInterval(time) ;
set++ ;
if(set === len )
{
set = 0 ;
}
changeimg(set) ;
autoplay() ;
});
写完以上内容,我们就剩下最后一个步骤了。如果点击那些小圆点,要如何才能切换到对应的图片上去。问题其实不难,回头看下,咱们写的切换图片函数,是需要传参的,这也就意味着我们只需要找到对应的小圆点的索引传进函数里,就可以实现。
//btn-list
$('.btn-list li').click(function(){
clearInterval(time) ;
set = $(this).index() ;
changeimg(set) ;
autoplay() ;
});
这里我们需要注意一下,也是需要先暂停自动切换。
再次回头我们发现,还漏掉了一个环节。如果当鼠标移动上去的时候,需要让自动切换暂停,鼠标移开,又开始自动切换。这里我们使用到了hover
注意注意!time是全局的,所以我们可以访问到
$('.imgs li').hover(function(){clearInterval(time)} , function(){autoplay()});
简单实现jquery轮播图的更多相关文章
- 超级简单的jquery轮播图demo
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 最简单的jQuery轮播图(原理解析)
html: <div class="middle_right"> <div id="lunbobox"> <div id=&quo ...
- 前端(十七)—— jQuery基础:jQuery的基本使用、JQ功能概括、JS对象与JQ对象转换、Ajax简单应用、轮播图
jQuery的基本使用.JQ功能概括.JS对象与JQ对象转换.Ajax简单应用.轮播图 一.认识jQuery 1.什么是jQuery jQuery是对原生JavaScript二次封装的工具函数集合 j ...
- 一步一步拆解一个简单的iOS轮播图(三图)
导言(可以不看): 不吹不黑,也许是东半球最简单的iOS轮播图拆分注释(讲解不敢当)了(tree new bee).(一句话包含两个人,你能猜到有谁吗?提示:一个在卖手机,一个最近在卖书)哈哈... ...
- jQuery轮播图(二)利用构造函数和原型创建对象以实现继承
本文是在我开始学习JavaScript继承时,对原型继承的一些理解和运用.文中所述的继承方式均是使用js特有的原型链方式,实际上有了ES6的类之后,实现继承的就变得十分简单了,所以这种写法现在也不在推 ...
- jQuery轮播图(一)轮播实现并封装
利用面向对象自己动手写了一个封装好的jquery轮播组件,可满足一般需求,不仅使用简单且复用性高. demo:点此预览 代码地址:https://github.com/zsqosos/componen ...
- Jquery 轮播图简易框架
=====================基本结构===================== <div class="carousel" style="width: ...
- 原生js实现简单移动端轮播图
最近项目不是很忙,自己就用原生js写了一个简单的移动端轮播图的小demo,可实现自动轮播和手势滑动轮播,然后就把它记录到个人博客里.还有很多不足的地方,希望多多指出,以便改进. 1.代码部分 分为四个 ...
- jQuery轮播图--不使用插件
说明:引入jquery.min.js 将轮播图放入imgs文件夹 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
随机推荐
- Mybatis中的别名的起源
1.Mybatis中的别名的起源 我们对别名的认识最初是在数据库中,例如:数据库之select时取别名的做法是这样的: select 列名 as 列别名,//方法1 列名 列别名,//方法2 from ...
- 高德地图3D菱形 区域点击搜索
更新一波吧 <!doctype html> <html lang="zh-CN"> <head> <!-- 原始地址://webapi.a ...
- 2019年PHP最新面试题(含答案)
1. 数据库设计经验,为什么进行分表?分库?一般多少数据量开始分表?分库?分库分表的目的?什么是数据库垂直拆分?水平拆分?分区等等 一:为什么要分表 当一张表的数据达到几百万时,你查询一次所花的时间会 ...
- codeblocks 调试
codeblocks 调试工具使用的注意事项: 1.codebloccks 调试,必须要在一个项目下才可以,也就是说“单独的文件是不能运行debug工具的” 2.项目的目录文件名必须是全英文,同时文件 ...
- UNIX env查找技巧
在一些UNIX系统上,也许可以避免硬编码Python解释器的路径,而可以在文件特定的第一行注释中这样写: #!/usr/bin/env python ... script goes here ... ...
- Python标准类型的分类
Python有3种不同的模型可以帮助对基本类型进行分类,这些类型更好的理解类型之间的相互关系以及他们的工作原理. 1 存储模型 能保存单个字面对象的类型,称为原子或标量存储: 能保存多个对 ...
- 关于log4j
搭建完maven+SpringMVC以后,我们还需要添加日志功能,方便记录应用在应用中产生的日志信息. 1.添加依赖包:依赖中除了对slf4j依赖外还有对邮件插件的依赖.当遇到报错的时候可以发送邮件到 ...
- 逆向libbaiduprotect(三)- 移植python操作dalvik虚拟机c++函数,配合gdb控制程序运行流程
python编译移植到测试机,并且移植ctypes模块.利用ctypes代替c程序,利用dalvik内部c++函数,在运行过程中手动命令操控dalvik虚拟机,并结合gdb进行调试.绕过zygote和 ...
- Linux安装telnet C/S 【白话文】
1.安装telnet 和telnet-server yum -y install telnet yum -y install telnet-server 注意:在此安装过程中,会依赖解决xinetd的 ...
- vue cli3.0 封装组件全局引入js文件并发布到npm
首先用 vue create创建一个项目 当前的项目目录是这样的: 首先需要创建一个 packages 目录,用来存放组件 然后将 src 目录改为 examples 用作示例 二.修改配置 启动项目 ...