位置: 编程技术 - 正文

Jquery轮播效果实现过程解析(jquery轮播代码)

编辑:rootadmin

推荐整理分享Jquery轮播效果实现过程解析(jquery轮播代码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jquery的轮播效果,jquery实现轮播,jquery的轮播效果,jquery自动轮播源码,jquery自动轮播源码,jquery的轮播效果,jquery轮播图自动播放,jquery的轮播效果,内容如对您有帮助,希望把文章链接给更多的朋友!

轮播是学习jquery开始的第二个实现的动效,也是学习时间最久的一个。在实现轮播的过程中总是会遇到各种各样的问题,请教过很多人,也多次问过度娘。今天,也不敢果敢的说,可以马上写好一个轮播。希望是通过随笔的方式,记录下一些思维过程。

首先是html结构,一个简单的轮播,单张图片无缝轮播,主要分为三大层:div>ul>li,li里面的img图片。

其次,css样式:div固定住宽高,overflow:hidden;ul的宽度建议是动态获取(下一步会讲是怎么获取);关于li我习惯使用浮动,让他们依次排列,在ul上要记得清楚浮动(clear:both)。

重要的是jquery的方法,主要有用到的有animate(),setInterval(),hover()。在写方法之前,缕清一下动效的逻辑:图片依次循环自右向左滑过,当滑完最后一张时,第一张显示,如此重复。

1、获取li的个数length和宽度width

因为是无缝轮播,要实现自然的过渡,我们还得做点什么,当图片滑到最后一张时,怎么样才会很自然的过渡到第一张,这个时候,如果第一张就在最后一张的后面,就可以了,所以,我们需要将第一张clone后append到li的最后

$('li:first').clone().appendTo('ul')2、获取ul的宽度:ul的宽度等于所有li的宽度加上克隆的li的宽度

ulWidth=liWidth*(len+1)似乎准备工作都做好了,那下一步我们就尝试让他动起来,首先想到是animate()方法:

animate( properties [, duration ] [, easing ] [, complete ] ),

Jquery轮播效果实现过程解析(jquery轮播代码)

    第一个参数properties:css的属性和值的对象,决定动画的效果,是上下还是左右等;

    第二个参数duration:完成一个动画的时间,默认是,单位是毫秒;

    第三个参数easing:动画过渡使用的缓动函数,默认是swing(linear,swing),一般不用这个参数;

    第四个参数complete:是指完成动画后执行的操作。

我们的动效是自右向左,所以通过改变ul的margin-left值来实现

其中index指的是li的索引值,当li的索引值等于li的length值的时候,也就是动画执行到了最后一张,那么直接让ul的margin-left为0,li的索引值也为0。

这样还存在一个隐患,暂时不提。

下一步,当鼠标离开div的时候,图片自动播放。这是要用到hover()和setInterval()

setInterval()在W3C是这样解释的:按照指定的周期(以毫秒计)来调用函数或计算表达式。不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。

这样,一个自动播放的功能似乎就实现了,可是我们还可以发现一个bug,第一帧停留的时间似乎有些长,为什么呢?

这个问题还是昨天得到了解决,当图片执行到最后一张时,他的index马上变为0,然后会执行两次,因此在这个判断中,我们需要当index为0时,让它自加1,index++,放到判断条件下。

还有一个问题,是昨天发现的,在这个轮播里面有两个时间,一个是动画执行时间,一个是播放时间,前者的时间一定要比后者的时间小,原因是js的执行顺序呢是自上而下的,,如果时间一致或者后者时间小于前者,那么,在这个时差里,动画将进不到判断条件里来,会一直播放,那么轮播就失败了。今天就分享到这里,下一次分享加上左右箭头和hover圆点的轮播效果。

附上完整的代码:

标签: jquery轮播代码

本文链接地址:https://www.jiuchutong.com/biancheng/384045.html 转载请保留说明!

上一篇:修复jQuery tablesorter无法正确排序的bug(加千分位数字后)(修复硬盘)

下一篇:Jquery判断form表单数据是否变化(jqueryif判断)

  • 电子普通发票和纸质普通发票一样吗
  • 契税减免税特殊规定有哪些?
  • 所有者权益分配流程
  • 工程施工和工程结算对冲有差额的会计分录
  • 原值和净值在报表怎么找
  • 支付残保金分录怎么写
  • 单式记账法可以进行试算平衡吗
  • 二手商品没有发票
  • 外购商品对外捐赠分录
  • 制造企业售后服务方案
  • 减免的残保金怎么计算
  • 补提企业所得税会计分录
  • 样品不收钱怎么做会计分录
  • 持有至到期投资属于什么科目
  • 增值税发票价格低于进项
  • 增票丢失怎么开完税证明
  • 纳税申报方式怎么修改
  • 个人所得税加计扣除有哪些项目
  • 进项税额转出的会计分录
  • 业务招待费进项税额转出
  • 服务业成本怎么做账
  • 个体户开劳务费税率
  • 会议展览服务费需要交印花税吗
  • 工程项目预缴增值税
  • 福利费的进项税怎么做账
  • 原材料生产产生的费用
  • 企业收到政府补助时,无需开发票,双方根据银行电汇单
  • 商品结转成本后怎么做账
  • 阐述python中浅复制与深复制
  • OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading “C:\ProgramData\Anaconda3\lib\site-packages\to
  • 长期资产的减值和流动资产的减值的区别
  • yii框架安装
  • gdal官方文档
  • 冲红怎么做会计科目
  • 长期无法收回的应收账款如何处理
  • mysql查询在什么之间
  • 个人提供的劳务费要开发票,但是薪资不需要开发票
  • 单位房屋出租收入应交哪些税
  • 金税盘全额抵扣申报表怎么填
  • 用人单位延迟给员工交社保怎么办
  • 开具红字专用发票理由
  • 餐厅吃饭不小心把餐具打破需要赔吗?
  • 成本法下被投资单位其他综合收益变动
  • 缴纳增值税账务
  • 税金及附加如何预测
  • 如何收信用卡付款
  • 股权转让,受让方的会计分录
  • 收购溢价会计处理
  • 培训费发票可以抵扣吗
  • 红冲上一年度销售收入
  • 银企对账操作流程
  • 纳税申报准备什么材料
  • 哪些税金不计入应交税费
  • 香港公司账户收美元要交税吗
  • 个税抵扣项目是什么
  • 财务建账应关注哪些内容
  • kms激活的弊端
  • 迅速修复系统漏洞的方法
  • mac 电脑出现问题而重新启动
  • windowssys
  • centos7如何进入命令行
  • nerosvc.exe - nerosvc是什么进程 有什么用
  • kazaalite.exe是什么进程 kazaalite进程有什么用
  • Win8.1不借助第三方软件怎么给文件夹加密并隐藏
  • 为了保证系统安全,必须为用户和角色设置密码
  • linux awk nr
  • perl语言基本命令
  • 跨域资源共享漏洞怎么修复
  • jquery validation plugin
  • ubuntu如何以root用户运行
  • angular使用
  • unity3d 脚本
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • saltstack安装
  • unity3d从入门到精通
  • javascript面向对象编程 PDF
  • 江苏 国税
  • 税控盘清卡的步骤
  • 关税是什么
  • 环保职责及管理范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设