js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)_javascript技巧

本文实例介绍了js实现图片轮播相册,具有过渡渐变效果,分享给大家供大家参考,具体内容如下

思路很简单,用2个属性保存当前图片和上一张图片,用2个定时器分别控制透明度和当前过渡的图片。

<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<style>
#cnt{width:100%;height:80%;}
.ctrl{text-align:center;border:1px solid gray;font-size:12px;cursor:pointer;}
</style>
<script defer='defer'>
<!--
  var curOpac = 0;
  var filterTimer;
  var isIE = /internet explorer/i.test(window.navigator.appName); 

  function MyScroll(cnt, control){
    this.data = []; // 存放图片路径
    this.interval = 3000; // 过渡一次的间隔时间(过渡时间+图片显示时间)
    this.timer; // 定时器:控制当前显示的图片
    this.container = cnt;
    this.curFrame = 0;
    this.oldFrame = 0;
    this.controls = control; // 按钮集合
    Global = this;     // 获取对象的指针 

    this.run = function(){
      this.timer = window.setInterval("Global.showFrame()", this.interval);
    } 

    // 按钮的处理程序
    this.go = function(i){
      curOpac = 0; // 透明度归0
      this.curFrame = i; // 当前要过渡的图片
      this.stop(); // 清空计时器
      this.showFrame(); // 当前图片过渡
      this.run(); // 循环播放
    } 

    this.stop = function(){
      window.clearInterval(this.timer);
      window.clearInterval(filterTimer);
    } 

    this.showFrame = function(){
      // 设置当前按钮样式
      this.controls[this.oldFrame].style.backgroundColor = "white";
      this.controls[this.curFrame].style.backgroundColor = "gray"; 

      if(isIE) this.container.style.filter = "alpha(opacity=0)";
      else this.container.style.cssText = "-moz-opacity:0"; 

      this.container.innerHTML = this.data[this.curFrame];
      filterTimer = window.setInterval("blend()", 100); 

      this.oldFrame = this.curFrame;
      this.curFrame ++;
      if(this.curFrame == this.data.length){
        this.curFrame = 0;
      }
    }
  }
   // 增加透明度
  function blend(){
    curOpac+=10;
    if(isIE) Global.container.style.filter='alpha(opacity=' + curOpac + ')';
    else Global.container.style.cssText = "-moz-opacity:" + curOpac/100.0; 

    if(curOpac == 100){
      curOpac = 0;
      window.clearInterval(filterTimer);
    }
  }
  //开始 

  function startIt(){
    var imgArr = [];
    // 创建4个图片对象保存图片路径
    for(var i=0;i<4;i++){
      imgArr[i] = new Image();
      imgArr[i].src = "images/banner" + (i + 1) + ".jpg";
    } 

    var controlArr = $("mainTb").getElementsByTagName("span");
    for(var i=0;i<controlArr.length;i++){
      controlArr[i].tag = i;
      controlArr[i].onclick = function(){
        myScroll.go(this.tag);
      }
    } 

    var myScroll = new MyScroll($("cnt"), controlArr);
    myScroll.data.push("<img src='" + imgArr[0].src + "'>");
    myScroll.data.push("<img src='" + imgArr[1].src + "'>");
    myScroll.data.push("<img src='" + imgArr[2].src + "'>");
    myScroll.data.push("<img src='" + imgArr[3].src + "'>"); 

    myScroll.go(0);
  } 

  window.onload = startIt; 

  function $(id){ return document.getElementById(id);}
//-->
</script>
<BODY>
<table width="300" height="100" id="mainTb">
  <tr>
  <th rowspan="4"><div id="cnt"> </div></td>
  <td width="15"><span class="ctrl"> 1 </span></td>
  </tr>
  <tr>
  <td><span class="ctrl"> 2 </span></td>
  </tr>
  <tr>
  <td><span class="ctrl"> 3 </span></td>
  </tr>
  <tr>
  <td><span class="ctrl"> 4 </span></td>
  </tr>
</table>
</BODY>
</HTML> 

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js
, 图片轮播
渐变
如何用ps渐变过渡效果、html5图片渐变轮播、ps图片渐变过渡效果、premiere渐变过渡、图片无缝拼接渐变过渡,以便于您获取更多的相关知识。

时间: 2024-12-02 14:11:22

js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)_javascript技巧的相关文章

js带点自动图片轮播幻灯片特效代码分享_javascript技巧

本文实例讲述了javascript带点自动图片轮播幻灯片特效.分享给大家供大家参考.具体如下: 这是一款基于javascript实现带点自动图片轮播幻灯片特效代码,实现过程很简单. 运行效果图:-------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. (1)在head区域引入CSS样式: <link rel="stylesheet" href="css/zzsc.css&qu

Bootstrap图片轮播组件使用实例解析_javascript技巧

使用Bootstrap来编写图片轮播组件Carousel,则能够节约很多时间,图片轮播组件是一个在网页中很常见的技术,但是如果直接编写的话,需要很长的JavaScript编码,同时也不好控制大小.  同时说一下,Carousel这个词的本义是回旋木马.  一.基本目标在网页编写多张图片的轮播组件Carousel,鼠标放在上面自带悬停效果,并且在每张图片下面配有图片说明.  由于笔者的电脑视频录制软件比较渣,也觉得没必要画太多时间在这上面,觉得只要能说明问题就行,所以下面的GIF失色比较严重,但是

基于BootStrap的图片轮播效果展示实例代码_javascript技巧

先给大家展示下bootstrap图片轮播图,效果如下所示,如果大家感觉效果还不错,请继续往下阅读,参考实现代码. 废话不多说了,直接给大家贴代码了,具体代码如下所示: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="

最简单的JavaScript图片轮播代码(两种方法)_javascript技巧

通过改变每个图片的opacity属性: 素材图片: 代码一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-"> <title>最简单的轮播广告</title> <style> body, div, ul, li { margin: ; padding: ; } ul { list-style-type: non

Jquery代码实现图片轮播效果(一)_javascript技巧

文章写的不好,还请各位高手指教,不废话了,先上张效果图吧看下: 在线演示         下载源码 首先是初始化部分:将除了第一张轮播图片意外的图片都隐藏,并且隐藏向前.向后按钮,使第一个索引按钮处于激活状态. 事件部分:通过jquery的hover()绑定鼠标上悬以及离开时的事件处理, jquery的bind()方法绑定鼠标点击事件处理向前.向后翻动.轮播控制:pre(), next(), play(), start()开始自动轮播,stop()停止自动轮播. 下篇是一个纯粹的jquery轮播

JS 两日期相减,获得天数的小例子(兼容IE,FF)_javascript技巧

复制代码 代码如下:    function GetDay() {    var arrDate, objDate1, objDate2, intDays;     objDate1 = new Date();    objDate2 = new Date();     arrDate = $("#开始日期").val().split("-");    objDate1.setFullYear(arrDate[0], arrDate[1], arrDate[2]);

js实现3D图片逐张轮播幻灯片特效代码分享_javascript技巧

本文实例讲述了javascript实现3D图片逐张轮播幻灯片特效.分享给大家供大家参考.具体如下: 这是一款基于javascript实现3D图片逐张轮播幻灯片特效代码,实现过程很简单. 运行效果图:-------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 为大家分享的js实现3D图片逐张轮播幻灯片特效代码如下 <head> <meta http-equiv="Content-Type

BootStrap的JS插件之轮播效果案例详解_javascript技巧

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 案例 下面展示的就是此插件和相关组件制作的轮播案例. <div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> <!-- Indicators --> <ol class

完美实现八种js焦点轮播图(上篇)_javascript技巧

本文分为上下篇为大家分享了js焦点轮播图八种经典效果,供大家参考,具体内容如下 基本布局: <div id="box"> <ul id="ul"> <li style='display:block;'><img src="images/1.jpg" alt=""></li> <li><img src="images/2.jpg"