CSS Filter 过滤器 +JS 实现 幻灯片播放
2011-09-21 17:06 沐海 阅读(639) 评论(0) 编辑 收藏 举报<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> < html xmlns="http://www.w3.org/1999/xhtml"> < head > < title ></ title > < meta http-equiv="x-ua-compatible" content="ie=7,ie6" /> < link href="style.css" rel="stylesheet" type="text/css" /> < style type="text/css"> .lstyle { font-size: 14px; font-weight: bold; color: #004986; /*#996633;*/ float: left; } .rstyle { font-size: 14px; font-weight: bold; color: #004986; /*#0066FF;*/ float: left; } </ style > < style type="text/css"> .cutLen { width: 170px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; float: left; } </ style > < script type="text/javascript"> function LoadAll() { //getNewsPhoto(5, 3, "../Articles/ArticlesUtil.aspx", "photolists"); } </ script > </ head > < body onload="LoadAll();"> <!--首页中--> < div id="box-center"> <!--主新闻区域--> < div class="c-center"> <!--头条新闻--> <!--教育新闻开始--> < div class="ibox"> < div class="ibox3-top"> < div class="ibox3-top1"> < div class="ibox3-top2-t1 font14 font3"> 图片新闻</ div > < a href="../Articles/CheckArticles.aspx?flag=3" id="link_new_1">>>更多</ a > </ div > </ div > <!--第一层新闻开始--> < div class="iboxcon ibox1-con h25"> <!--图片幻灯--> < div class="box-pc-news1"> < div style="height: 272px; overflow: hidden; border: 0"> < div id="photocontent"> < div id="focus_photo" style="overflow: hidden;"> < div > < a id="focus_photo_url" target="_blank"> < img id="focus_photo_pic" width="325" height="275" alt="" style="margin-left: border: 0px solid #000000; filter: progid:DXImageTransform.Microsoft.RevealTrans (duration=2,transition=23);" /></ a > </ div > < div style="filter: alpha(style=0,opacity=60,finishOpacity=90); text-align: right; top: -25px; position: relative; margin: 0px; height: 20px; border: 0px; padding-top: 1px; z-index: 4000;"> < div id="focus_photo_nav"> </ div > </ div > </ div > </ div > < div id="photolists" runat="server"> </ div > </ div > < div id="focus_photo_title"> < a id="focus_title_url" target="_blank"></ a > </ div > < script language="JavaScript" type="text/javascript"> function getObject(o) { if (!getObject) { return null; }; o = (typeof o == 'string') ? document.getElementById(o) : o; return o; } if (typeof photolist != 'function') { var photolist = function() { var a; var img; var title; } } /*处理数组*/ var plist = getObject("photolists"); plist.style.display = 'none'; var Photos = new Array(); var Num = 0; if (plist) { var n = plist.getElementsByTagName("p"); for (var i = 0; i < n.length ; i++) { var p = new photolist(); p.a = n[i].getElementsByTagName("A")[0]; p.img = n[i].getElementsByTagName("IMG")[0]; p.title = p.a.innerHTML; if (p.a && p.img && p.title) { Photos[Num] = p; Num++; } } var focus_photo_nav = getObject("focus_photo_nav"); for (var i = 1; i < Photos.length + 1; i++) { var y = document.createElement("a"); y.appendChild(document.createTextNode(i)); y.id = "xxjdjj" + i; y.className = "axx"; y.target = "_self"; y.href = "javascript:changeimg(" + i + ");"; focus_photo_nav.appendChild(y); } } /*处理数组结束*/ var nn = 1; //当前所显示的滚动图 var key = 0; //标识是否为第一次开始执行 var tt; //标识作用 function change_img() { if (key == 0) { key = 1; } //如果第一次执行KEY=1,表示已经执行过一次了。 else if (document.all)//document.all仅IE6/7认识,firefox不会执行此段内容 { getObject("focus_photo_pic").filters[0].Apply(); //将滤镜应用到对像上 getObject("focus_photo_pic").filters[0].Play(duration = 2); //开始转换 getObject("focus_photo_pic").filters[0].Transition = 23; //转换效果 } try { getObject("focus_photo_pic").src = Photos[nn - 1].img.src; //替换图片 getObject("focus_photo_url").href = Photos[nn - 1].a.href; //替换URL getObject("focus_title_url").href = Photos[nn - 1].a.href; //替换URL getObject("focus_title_url").innerHTML = Photos[nn - 1].title; //替换title for (var i = 1; i <= Num; i++) { getObject("xxjdjj" + i).className = 'axx'; //将下面黑条上的所有链接变为未选中状态 } getObject("xxjdjj" + nn).className = 'bxx'; //将当前页面的ID设置为选中状态 nn++; if (nn > Num) { nn = 1; } //如果ID大于总图片数量。则从头开始循环 } catch (err) { //alert(err); } tt = setTimeout('change_img()', 7000); //在4秒后重新执行change_img()方法. } function changeimg(n)//点击黑条上的链接执行的方法 { nn = n; //当前页面的ID等于传入的N值, window.clearInterval(tt); //清除用于循环的TTn //重新执行change_img();但change_img()内所调用的图片ID已经在此处被修改,会从新ID处开始执行. change_img(); } //开始执行滚动操作 change_img(); </ script > </ div > <!--图片幻灯结束--> < div class="box-con-news10"> <!--新闻板块1--> < ul id="con_new_1"> < div > < ul id="news"> </ ul > </ div > </ ul > </ div > < div class="clear"> </ div > </ div > </ body > </ html > |
渐层
filter : progid:DXImageTransform.Microsoft.RevealTrans ( enabled=bEnabled , duration=fDuration , transition=iTransitionType )
属性:
enabled | : | 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
duration | : | 可选项。浮点数(Real)。设置或检索转换完成所用的时间。其值为秒.毫秒(0.0000)格式。 你可以使用 play 方法的 iDuration 参数设置转换回放的持续时间。然而,当你一旦调用了 play 方法,在回放持续过程中 Duration 特性就变为只读特性。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
transition | : | 可选项。整数值(Integer)。设置或检索转换所使用的方式。
|
特性:
Enabled | : | 可读写。布尔值(Boolean)。参阅 enabled 属性。 | |||||||||
Duration | : | 可读写。浮点数(Real)。参阅 duration 属性。 | |||||||||
Transition | : | 可读写。整数值(Integer)。参阅 transition 属性。 | |||||||||
Percent | : | 可读写。字符串(String)。设置或检索当前静态滤镜输出在转换进程中所处的点。取值范围为 0 - 100 。默认值为 0 ,转换尚未开始。 100 为转换完成。 此特性可用于使用转换滤镜建立静态滤镜效果。设置其值等于定义了转换进程停止的点。使用转换滤镜建立静态滤镜效果可遵循以下步骤:
|
|||||||||
status | : | 只读。整数值(Integer)。检索转换的当前状态。0 | 1 | 2
|
方法:
apply | : | 捕获对象内容的初始显示,为转换做必要的准备。无返回值。 当此方法一旦被调用后,对象属性的任何改变都不会被显示,直到你调用 play 方法开始转换。 请注意:你只能使用 visibility 属性来改变对象的子对象。否则,对子对象的直接改变会被立即显示出来,而不会被转换滤镜捕获。 当你调用 play 方法时,转换呈现出内容的变化结果(对象的属性和子对象的 visibility 属性的改变)。 |
|||
play ( iDuration ) | : | 开始转换。无返回值。参数见下表。
|
|||
stop | : | 停止转换回放。并呈现转换结果图像。同时激发 onfilterchange 事件。无返回值。 |
说明:
提供了24种转换对象内容的效果。
示例:
#idDiv{ height:250px; width:250px; background-color: gold; filter:progid:DXImageTransform.Microsoft.RevealTrans(duration=5, transition=2); }
本人声明:
个人主页:沐海(http://www.cnblogs.com/mahaisong)
以上文章都是经过本人设计实践和阅读其他文档得出。如果需要探讨或指教可以留言或加我QQ!欢迎交流!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述