zoukankan      html  css  js  c++  java
  • JQ轮播

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

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

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

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

    2、获取ul的宽度:ul的宽度等于所有li的宽度加上克隆的li的宽
    首先想到是animate()方法:
    animate( properties [, duration ] [, easing ] [, complete ] ),

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

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

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

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

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

    $('ul').animate({
      'marign-left': -liWidth*index
    },3000,function(){
      if(index==len){
       index=0;
       $('ul').css({'margin-left':'0px'})
      }
    }) 

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

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

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

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

     
  • 相关阅读:
    How To Install a 2 Finger Gripper on ABB Robots
    Guide: How to Set Up I/O on an ABB Robot with an IRC5 Controller
    SIGVerse
    unity与ROS SIGVerse 仿真
    论文阅读:Automated acquisition of structured, semantic models of manipulation activities from human VR demonstration
    Python2.7+ROS环境:AttributeError:‘module’ has no attribute ‘CALIB_HAND_EYE_TSAI
    Qt音视频开发39-人脸识别在线版
    Qt音视频开发38-USB摄像头解码linux方案
    Qt音视频开发37-USB摄像头解码ffmpeg方案
    由浅入深讲述MVVM
  • 原文地址:https://www.cnblogs.com/liaolei1/p/5562424.html
Copyright © 2011-2022 走看看