对于一个没有编程基础的人来说,我时常希望能有人告诉我,当我们看到一个效果的时候,该怎样有条理地分析出它的行为,而我自己有必要加强这方面的 自省,对于一个轮播图我是这样看的,自动播放必然带有一个定时器,而播放某帧(若假设为渐变为实),渐变就必然也有一个定时器。

1:人通过鼠标控制一个轮播的自动播放autoPlay。

a.当鼠标移入轮播图范围的时候,轮播图停止自动播放,反之开始自动播放:

oBox.onmouseover=function(){

clearInterval(play);

}

oBox.onmouseout=function(){

autoPlay();

}

b.当鼠标移到某按钮时,就播放该帧:(这里是这样思考的:必然按钮和图之间有一种联系来互相控制,它就是参数)

for(var i=0;i<aNum.length;i++){

aNum[i].index=i;//为每一个按钮添加一个“号码牌”属性;

show(this.index)

}

2:自动播放控制着每帧的播放show():

function autoPlay(){

play=setInterval(

index++;

index>=aNum.length && (index=0);//当播放到最后一帧,2秒后又++变为第aNum.length帧(空),就让它重头播放

show(index);

},2000)

autoPlay();

3:每帧的播放show(),每一次都先让所有帧都透明度变为0,也标记特定按钮,然后让特定帧实度渐增至opacity=1;

function show(a){  //需要播放来自自动播放产生的、鼠标移至按钮产生的特定帧,靠参数控制

for(var i=0;i<aLi.length;i++) aLi[i].style.opacity="";//未做兼容

for(var i=0;i<aNum.length;i++){

aNum[i].className="";

}

aNum[a].className="current";

var alpha=0;//最好在函数头声明

timer=setInterval(function(){

alpha++2;

alpha>100 && (alpha=100);

aLi[a].style.opacity =""+alpha/100;

alpha==100 && clearInterval(timer);

},20)

}

探索javascript----我对渐变轮播图的理解的更多相关文章

  1. 【JavaScript】固定布局轮播图特效

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 简要分析javascript的选项卡和轮播图

    选项卡 思路 1.按钮和展示的页面要对应:分别遍历,记住当前按钮的索引,让其成为展示页面的索引 2.只出现所对应的页面:所有的页面隐藏,只展示想要的页面 只展示js代码 for(var i=0;i&l ...

  3. JavaScript实现轮播图效果

    我又来了,同志们.老想你们了 捕获小可爱一枚. 下面进入正题:用JavaScript原生代码写轮播图效果. 具体效果就不多说了,网站上面的轮播效果我们都知晓.下面是展示代码 html代码: <d ...

  4. Jquery 轮播图简易框架

    =====================基本结构===================== <div class="carousel" style="width: ...

  5. 用js和jQuery做轮播图

    Javascript或jQuery做轮播图 css样式 <style> a{ text-decoration:none; } .naver{ width: 100%; position:r ...

  6. photoSlider-原生js移动开发轮播图、相册滑动插件

    详细内容请点击 在线预览   立即下载 使用方法: 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css& ...

  7. photoSlider-html5原生js移动开发轮播图-相册滑动插件

    简单的移动端图片滑动切换浏览插件 分别引用css文件和js文件 如: <link rel="stylesheet" type="text/css" hre ...

  8. 浅谈轮播图(原生JavaScript实现)

    现在各种轮播图插件,玲琅满目,用起来也非常方便,通常只需要选择元素然后传入参数就可以了.但是,和授人以鱼不如授人以渔一样的道理,不管怎样最基本的轮播图原理还是应当掌握的.这样不仅有利于我们自己写出来满 ...

  9. javascript效果:手风琴、轮播图、图片滑动

    最近都没有更,就来几个效果充实一下. 都没有进行美化这步. 手风琴: 纯css: <!DOCTYPE html> <html lang="en"> < ...

随机推荐

  1. WordPress 添加Meta Box的方法步骤

    需要使用到add meta boxes Action,该Action允许我们为任何文章类型注册Meta Box,在该Action中,我们需要使用add_meta_box()方法来添加Meta Box的 ...

  2. Jenkins入门系列之——01第一章 Jenkins是什么?

    第一章 Jenkins是什么? Jenkins 是一个可扩展的持续集成引擎. 主要用于: l 持续.自动地构建/测试软件项目. l 监控一些定时执行的任务. Jenkins拥有的特性包括: l 易于安 ...

  3. [课程设计]Scrum 1.4 多鱼点餐系统开发进度(点餐页面框架布置)

    Scrum 1.4 多鱼点餐系统开发进度 (点餐页面框架布置) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系 ...

  4. 事务码 ListSchema:查看Cube星型结构Schema

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  6. 做个这样的APP要多久?[转]

    这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...

  7. Head First 设计模式--1策略模式 组合优于继承

    策略模式:第一了算法族,分别封装起来,让他们之间可以互相替换,次模式让算法的变化独立于使用算法的客户. 首先看个错误的面向对象. 假如我们需要写一个关于鸭子的程序,各种类型的鸭子.第一想到的就是建一个 ...

  8. vim 替换操作

    全局替换真正使用的是两个ex命令 g(global) 和 :s(switch) 1.替换命令语法 :s/old/new/ 这将把当前模式中的第一个old替换为new 2.替换命令语法 :s/old/n ...

  9. laravel开发微信公众号1 之基本配置

    需要用到的packagist:       https://github.com/overtrue/laravel-wechat  ( 目前最优雅的laravel微信sdk) 首先安装 compose ...

  10. Alpha 和Beta 测试

    在正式发布产品之前往往要先发布一些测试版,让用户能够反馈出相关信息,或者找到存在的Bug,以便在正式版中得到解决. 特别是在有客户参加的情况下,对系统进行测试可能会出现一些我们没有考虑的情况,还可以解 ...