1. [代码][JavaScript]代码

$(window).load(function(){
    //我们监听了 window.load 事件,因此我们确定幻灯片上的所有图片都能够正确进行加载。
    //测试当前浏览器是否支持canvas元素
  var supportCanvas = 'getContext' in document.createElement('canvas');
 
  //图片的canvas效果操作是受CPU渲染影响的,
  //这就是为什么我们要使用setTimeout异步地来操作它们
  //这样就能提升页面的响应
 
    
 
  var slides = $('#slideshow li'),
      current = 0,
      slideshow = {width:0,height:0};
  setTimeout(function(){
      if(supportCanvas){
          $('#slideshow img').each(function(){
              if(!slideshow.width){
                    
                  //保存首张图片的尺寸
                  slideshow.width = this.width;
                  slideshow.height = this.height;
              }
            
              //渲染修改后图像的版本
              createCanvasOverlay(this);
          });
      }
      $('#slideshow .arrow').click(function(){
          var li            = slides.eq(current),
              canvas        = li.find('canvas'),
              nextIndex    = 0;
 
          //取决于这个是下一张箭头的按钮还是上一张箭头的按钮,
          //计算出下一张幻灯片的索引号。
          if($(this).hasClass('next')){
              nextIndex = current >= slides.length-1 ? 0 : current+1;
          }http://www.huiyi8.com/dongman/weimei/
          else {唯美动漫图片
              nextIndex = current <= 0 ? slides.length-1 : current-1;
          }
          var next = slides.eq(nextIndex);
          if(supportCanvas){
               
              //若当前浏览器支持canvas
              canvas.fadeIn(function(){
              
                  //显示下一张的幻灯片
                  next.show();
                  current = nextIndex;
                 //隐藏当前的幻灯片
                  li.fadeOut(function(){
                      li.removeClass('slideActive');
                      canvas.hide();
                      next.addClass('slideActive');
                  });
              });
          }
          else {
              //若当前浏览器不支持canvas元素。
              //使用幻灯片普通版本
              current=nextIndex;
              next.addClass('slideActive').show();
              li.removeClass('slideActive').hide();
          }

创建一个HTML5与JQuery结合的幻灯片的更多相关文章

  1. sublime2创建一个html5的snippets文件

    背景:跟了一个网上课程,老师哗啦啦敲代码,屏幕上只敲了几个字,键盘一操作,瞬间一大溜代码,看得我心惊肉跳连忙暂停抄抄抄. 举个简单的例子,我需要创建一个html文件.但是我不想每次都敲固定的格式.那么 ...

  2. 小教程:自己创建一个jQuery长阴影插件

    长阴影设计是平面设计的一个变体,添加了阴影,产生了深度的幻觉,并导致了三维的设计.在本教程中,我们将创建一个jQuery插件,通过添加完全可自定义的长阴影图标,我们可以轻松地转换平面图标. 戳我查看效 ...

  3. 利用HTML5与jQuery技术创建一个简单的自动表单完成

    来源:GBin1.com 在线演示   在线下载 谷歌快速搜索自带大量自动完成插件——库中甚至还有一个附带的jQuery UI共享选项.然而今天我要寻找一个替代的解决方案.由DevBridge开发的j ...

  4. 如何创建一个自定义jQuery插件

    简介 jQuery 库是专为加快 JavaScript 开发速度而设计的.通过简化编写 JavaScript 的方式,减少代码量.使用 jQuery 库时,您可能会发现您经常为一些常用函数重写相同的代 ...

  5. 如何创建一个基本JQuery的插件

    如何创建一个基本的插件 有时您希望在整个代码中提供一些功能.例如,也许你想要一个单一的方法,你可以调用一个jQuery选择,对选择执行一系列的操作.在这种情况下,您可能需要编写一个插件. 链接jQue ...

  6. jquery创建一个新的节点对象(自定义结构/内容)的好方法

    jq创建一个新的节点对象,这对一些自定义功能很有帮助,而且可以随意控制对象的结构与内容,何乐而不为呢,看到这里,相信有些朋友已经按耐不住了,好记下来为大家介绍实现方法,感兴趣的朋友可以了解下哦 < ...

  7. 创建一个jQuery UI的垂直进度条效果

    日期:2013-9-24  来源:GBin1.com 在线演示 缺省的jQuery UI只有水平的进度条效果,没有垂直的进度条效果,仅仅重新定义JQuery UI的CSS不能解决这个问题. 这里我们扩 ...

  8. jQuery源码学习一: 创建一个jquery实例

    前言: jquery是每个前端都会的基础技能,众所周知,jquery返回的是jquery实例方法,但是我们似乎是直接使用$就可以获取到jquery的方法啦,可以在浏览器中判断一下 window.$ 和 ...

  9. 用html5的canvas和JavaScript创建一个绘图程序

    本文将引导你使用canvas和JavaScript创建一个简单的绘图程序. 创建canvas元素 首先准备容器Canvas元素,接下来所有的事情都会在JavaScript里面. <canvas ...

随机推荐

  1. vue2.0 仿手机新闻站(七)过滤器、动画效果

    1.全局过滤器 (1)normalTime.js  自定义 将 时间戳 转换成 日期格式 过滤器 /** * 将 时间戳 转换成 日期格式 */ export const normalTime = ( ...

  2. java 中 instanceof 和 isInstance区别

    两者的功能是等价的.区别: 1.instanceof 是一个操作符(类似new, ==等): 使用方法: if (ins instanceof String) { //logic } 2.isInst ...

  3. Skia构建系统与编译脚本分析

    分析下Skia的构建系统,详细编译过程參看Windows下从源代码编译Skia.这里以ninja为例来分析.运行以下三条命令就能够完毕编译: SET "GYP_GENERATORS=ninj ...

  4. Spring学习三----------注入方式

    © 版权声明:本文为博主原创文章,转载请注明出处 Spring注入方式 本篇博客只讲最常用的两种注入方式:设值注入和构造器注入.代码为完整代码,复制即可使用. 1.目录结构 2.pom.xml < ...

  5. jquery,smarty,dedecms的插件思路------dede未实践

    1.jquery定义一个新函数,这个函数可以使用jquey的所有功能 2.smarty,dede其实也和jquery一样,不过是可以使用系统的一些方法而已 3.可能还有一些规范,如smarty插件的命 ...

  6. html中文件类型的accept属性有哪些

    *.3gpp audio/3gpp, video/3gpp 3GPP Audio/Video *.ac3 audio/ac3 AC3 Audio *.asf allpication/vnd.ms-as ...

  7. 给js对象赋值,赋值key

    var pastResult = []; pastResult.push(feature.attributes.F_iID); pastResult.push(feature.attributes.F ...

  8. 我眼中的Oracle Database Software 和 Oracle Database

    我眼中的Oracle Database Software 和 Oracle Database 我喜欢用微软的office软件和word文档(确切的说是:自己写的word文档,能够把这个Word文档想象 ...

  9. XP,32/64位Win7,32/64位Win10系统【电脑城版】

    本系统是10月最新完整版本的Windows10 安装版镜像,Win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为Win10 Edge浏览器中国默认主页和搜索引擎,系 ...

  10. TP框架---thinkphp查询和添加数据

    查询 <?php namespace Admin\Controller; use Think\Controller; class MainController extends Controlle ...