javascript 图片淡入淡出效果 实例源代码
代码说明:把代码粘贴好之后,需要更改html代码中的图片路径,即可执行成功。
后面还有对js代码的详细说明,希望大家好好消化,好好理解。 html源代码:
<head>
<title>图片切换</title>
<script type="text/javascript" src="图片切换.js"></script>
<link rel="stylesheet" type="text/css" href = "图片切换.css">
</head>
<body>
<div id="ad">
<ul>
<li style="filter:alpha(opacity=100); opacity:1;"><img src="banner/ad_banner1.png" alt="" /></li>
<li><img src="banner/ad_banner2.png" alt="" /></li>
<li><img src="banner/ad_banner3.png" alt="" /></li>
</ul>
</div>
</body>
css源代码:
#ad {width: 942px;height:302px;position:relative; margin:0 auto;}
#ad ul {position: absolute;top:;left:;}
#ad li {position: absolute; top:; left:;opacity:;}
javascript源代码:
window.onload = function ()
{
jzk.app.Tobanner();
} var jzk = {}; jzk.tools = {};
jzk.tools.getStyle = function(obj,attr)
{
if(obj.currentStyle)
{
return obj.currentStyle[attr];
}
else
{
return getComputedStyle(obj,false)[attr];
}
} jzk.ui = {};
jzk.ui.fadeIn = function(obj)
{
var iCur = jzk.tools.getStyle(obj,'opacity');
if(iCur==1)
{
return false;
} var value = 0;
clearInterval(obj.finishtimer);
obj.finishtimer = setInterval(function() {
var ispeed = 5;
if(value == 100)
{
clearInterval(obj.finishtimer);
}
else
{
value = value +ispeed;
obj.style.opacity = value/100;
obj.style.filter = "alpha=('+value+')";
}
}, 30); }
jzk.ui.fadeOut = function(obj)
{
var iCur = jzk.tools.getStyle(obj,'opacity');
if(iCur==0)
{
return false;
} var value =100;
clearInterval(obj.finishtimer);
obj.finishtimer = setInterval(function() {
var ispeed = -5;
if(value == 0)
{
clearInterval(obj.finishtimer);
}
else
{
value = value +ispeed;
obj.style.opacity = value/100;
obj.style.filter = "alpha=('+value+')";
}
}, 30); } jzk.app = {};
jzk.app.Tobanner=function()
{
var ad = document.getElementById('ad');
var lists = ad.getElementsByTagName('li'); var iNow = 0;
var finishtimer = setInterval(showpic,4000); function showpic ()
{
if(iNow == lists.length-1)
{
iNow = 0;
}
else
{
iNow ++;
}
for(var i=0;i<lists.length;i++)
{
jzk.ui.fadeOut(lists[i]);
}
jzk.ui.fadeIn(lists[iNow]);
}
}
对javascript源代码的几大点理解:
一.我采用分层的理念编写代码,思路清晰,对后期的管理和修改很有帮助:
1.var jzk ={};定义民命空间;
2.jzk.tools = {}; 分层第一层,基本应用工具;
3.jzk.ui = {}; 分层第二层,一些广泛使用的函数包装;
jzk.app = {}; 分层第三层,直接用于页面调用的应用函数;
二.jzk.tools层上的函数:
jzk.tools.getStyle函数用于定义一个可以获取元素属性值得函数;
三.jzk.ui层上的函数:
1.jzk.ui.fadeIn函数功能:淡出函数(用来显示图片),在后面的jzk.app层中将会被调用;值得注意的是下面这段代码:
var iCur = jzk.tools.getStyle(obj,'opacity');
if(iCur==1)
{ return false;
}
这段代码是必不可少的,意思解释为:定义变量iCur存储元素的opacity属性值,判断如果为1,也就是完全可见的元素,则返回错误,不执行下面的代码;
2.jzk.ui.fadeOut函数功能:淡入函数(用来隐藏图片),同样是这样一段代码:
var iCur = jzk.tools.getStyle(obj,'opacity');
if(iCur==0)
{
return false;
}
因为此处是用来隐藏图片,所以先定义变量iCur存储元素的opacity属性,判断如果为0,也就是完全不可见图片,所以就没必要再隐藏,所以返回错误;
四.jzk.app层上的函数:
jzk.app.Tobanner函数功能,就是用来页面调用的应用函数,定义一个当前变量,使当前图片显示,其他的图片隐藏,从而达到了淡入淡出的效果。
五.页面调用:
页面调用代码实现:
window.onload = function ()
{
jzk.app.Tobanner();
}
直接调用应用层的函数即可。
javascript 图片淡入淡出效果 实例源代码的更多相关文章
- [转]Android UI:看看Google官方自定义带旋转动画的ImageView-----RotateImageView怎么写(附 图片淡入淡出效果)
http://blog.csdn.net/yanzi1225627/article/details/22439119 众所周知,想要让ImageView旋转的话,可以用setRotation()让其围 ...
- React-Native ListView加载图片淡入淡出效果的组件
今天练习项目中需要给listview在加载图片时增加一个淡入淡出的效果,因此干脆就自己封装了一个组件: 'use strict' import React from 'react-native' va ...
- jQuery实现简单的图片淡入淡出效果
整体思路: 1.实现页面布局,设置css样式 2.用jQuery获取需要用到的变量 3.用jQuery为两个按钮绑定事件 一.页面布局: <div class="d1"> ...
- javascript写淡入淡出效果的轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 基于jquery实现的文字淡入淡出效果
这篇文章介绍了jquery实现的文字淡入淡出效果实例,有需要的朋友可以参考一下 复制代码代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...
- javascript 单个图片的淡入淡出效果和多张图片的淡入淡出效果
最近刚好在看之前妙趣网站的javascript 初级运动教程,教程里说设置图片的透明度使用了一个变量.这种方法确实不错,但是燕姐喜欢麻烦.就用自己的理解方法写了一遍.其中也是各种坑.现在先把一个图片的 ...
- javascript淡入淡出效果的实现思路
这个思路是最近写XScroll.js类的时候想明白的.平常我们说的淡入淡出效果,一般分成两部分,一半是淡入,另一半就是淡出了.不过经过分析,我觉得其实只需要一半就行了如题,只有思路,没有代码. 这个思 ...
- Jquery小例子:全选按钮、加事件、挂事件;parent()语法;slideToggle()语法;animate()语法;元素的淡入淡出效果:fadeIn() 、fadeOut()、fadeToggle() 、fadeTo();function(e):e包括事件源和时间数据;append() 方法
function(e): 事件包括事件源和事件数据,事件源是指是谁触发的这个事件,谁就是事件源(div,按钮,span都可以是事件源),时间数据是指比如点击鼠标的事件中,事件数据就是指点击鼠标的左建或 ...
- javascript - 图片的幻灯片效果
javascript 代码: <script type="text/javascript"> function select_play() { var select_p ...
随机推荐
- 深入理解line-height与vertical-align
前面的话 line-height.font-size.vertical-align是设置行内元素布局的关键属性.这三个属性是相互依赖的关系,改变行间距离.设置垂直对齐等都需要它们的通力合作.在CSS字 ...
- [UWP]涨姿势UWP源码——Unit Test
之前我们讨论了涨姿势UWP的RSS数据源获取,以及作为文件存储到本地,再将数据转化成Model对象.这部分非UI的内容非常适合添加Unit Test.不涉及UI的话,UT写起来简单高效,很是值得投入一 ...
- app令牌的一个token实现
app登陆验证不能使用session来判断了.然后查资料都说用令牌,没找到合适的方法,我的眼界太小.另外,越来越感觉基础的重要,比如,session是什么,我竟无言以对.不知道session是什么,怎 ...
- 使用junit测试用例
通常只会使用junit测试非main方法,在我眼里就是程序入口实现而已.今天,发现原来可以测试类. 针对mybatis练习.在需要测试的UserDaoImpl类上右键,新建一个junit case,位 ...
- 跨域http头
php:header("Access-Control-Allow-Origin: *"); asp.net:Response.AppendHeader("Access-C ...
- JAVA 设计模式 装饰者模式
用途 装饰者模式 (Decorator) 动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator 模式相比生成子类更为灵活. 装饰者模式是一种结构式模式. 结构
- 报告一个IE很奇葩的滚动条问题——百分比计算宽度为浮点数时的滚动条显示异常
起因: 做项目的时候做了一个表格内容超过DIV容器自动横向滚动处理.别的浏览器都正常:但是在IE下面明明表格table和容器DIV宽度一致但是却出现了滚动条.如图 然后本人做实验找了半天原因终于是找到 ...
- 如果简单的记录,就可以为这个世界创造更多的财富,那么还有什么理由不去写博客呢? — 读<<黑客与画家>> 有感
上一次博文发文时间是2016.1.15,7个月已经过去了.最近读了一本<>的书,对我触动挺大的!里面有关于技术趋势的探讨,也有关于人生和财富的思考! 开始更新iOS122的文章的初衷是,聚 ...
- OpenStack虚拟云桌面在携程呼叫中心的应用
编者:本文为刘科在第六期[携程技术微分享]中的分享内容.在携程技术中心(微信号ctriptech)微信后台回复[云桌面],可加入微信交流群,和关注云桌面的小伙伴一起玩耍~ 刘科,携程系统研发云平台桌面 ...
- 使用MVVM-Sidekick开发Universal App(二)
上一篇文章已经建立了基本的实体类,并且搞定了多语言的问题,以后在app里用字符串的时候就可以从资源文件中取了.现在继续进行. 一.添加一个页面 CurrencyExchanger首页是一个货币兑换的列 ...