




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一款个性的波浪式滑动菜单特效一款个性的波浪式滑动菜单特效var $ = function (id) return string = typeof id ? document.getElementById(id) : id;function Event(e) var oEvent = document.all ? window.event : e; if (document.all) if(oEvent.type = mouseout) oEvent.relatedTarget = oEvent.toElement; else if(oEvent.type = mouseover) oEvent.relatedTarget = oEvent.fromElement; return oEvent;郑州整形医院 郑州展览公司 function addEventHandler(oTarget, sEventType, fnHandler) if (oTarget.addEventListener) oTarget.addEventListener(sEventType, fnHandler, false); else if (oTarget.attachEvent) oTarget.attachEvent(on + sEventType, fnHandler); else oTargeton + sEventType = fnHandler; ;var Class = create: function() return function() this.initialize.apply(this, arguments); Object.extend = function(destination, source) for (var property in source) destinationproperty = sourceproperty; return destination;var GlideView = Class.create();GlideVtotype = /容器对象 容器宽度 展示标签 展示宽度 initialize: function(obj, iWidth, sTag, iMaxWidth, options) var oContainer = $(obj), oThis=this, len = 0; this.SetOptions(options); this.Step = Math.abs(this.options.Step); this.Time = Math.abs(this.options.Time); this.Showtext = false;/是否显示说明文本 this._list = oContainer.getElementsByTagName(sTag); len = this._list.length; this._count = len; this._width = parseInt(iWidth / len); this._width_max = parseInt(iMaxWidth); this._width_min = parseInt(iWidth - this._width_max) / (len - 1); this._timer = null; /有说明文本 if(this.options.TextTag & this.options.TextHeight 0) this.Showtext = true; this._text = oContainer.getElementsByTagName(this.options.TextTag); this._height_text = -parseInt(this.options.TextHeight); this.Each(function(oList, oText, i) oList._target = this._width * i;/自定义一个属性放目标left oList.style.left = oList._target + px; oList.style.position = absolute; addEventHandler(oList, mouseover, function() oThis.Set.call(oThis, i); ); /有说明文本 if(oText) oText._target = this._height_text;/自定义一个属性放目标bottom oText.style.bottom = oText._target + px; oText.style.position = absolute; ) /容器样式设置 oContainer.style.width = iWidth + px; oContainer.style.overflow = hidden; oContainer.style.position = relative; /移出容器时返回默认状态 addEventHandler(oContainer, mouseout, function(e) /变通防止执行oList的mouseout var o = Event(e).relatedTarget; if (oContainer.contains ? !oContainer.contains(o) : oContainer != o & !(oCpareDocumentPosition(o) & 16) oThis.Set.call(oThis, -1); ) , /设置默认属性 SetOptions: function(options) this.options = /默认值 Step: 20,/滑动变化率 Time: 20,/滑动延时 TextTag: ,/说明容器tag TextHeight: 0/说明容器高度 ; Object.extend(this.options, options | ); , /相关设置 Set: function(index) if (index 0) /鼠标移出容器返回默认状态 this.Each(function(oList, oText, i) oList._target = this._width * i; if(oText) oText._target = this._height_text; ) else /鼠标移到某个滑动对象上 this.Each(function(oList, oText, i) oList._target = (i = index) ? this._width_min * i : this._width_min * (i - 1) + this._width_max; if(oText) oText._target = (i = index) ? 0 : this._height_text; ) this.Move(); , /移动 Move: function() clearTimeout(this._timer); var bFinish = true;/是否全部到达目标地址 this.Each(function(oList, oText, i) var iNow = parseInt(oList.style.left), iStep = this.GetStep(oList._target, iNow); if (iStep != 0) bFinish = false; oList.style.left = (iNow + iStep) + px; /有说明文本 if (oText) iNow = parseInt(oText.style.bottom), iStep = this.GetStep(oText._target, iNow); if (iStep != 0) bFinish = false; oText.style.bottom = (iNow + iStep) + px; ) /未到达目标继续移动 if (!bFinish) var oThis = this; this._timer = setTimeout(function() oThis.Move(); , this.Time); , /获取步长 GetStep: function(iTarget, iNow) var iStep = (iTarget - iNow) / this.Step; if (iStep = 0) return 0; if (Math.abs(iStep) 0 ? 1 : -1); return iStep; , Each:function(fun) for (var i = 0; i this._count; i+) fun.call(this, this._listi, (this.Showtext ? this._texti : null), i); ;#idGlideView height:100px; margin:100px auto;#idGlideView div width:500px; height:100px;#idGlideView div a width:500px; height:50px; filter: alpha(opacity=50); opacity: 0.5; background:#000; color:#fff; text-decoration:none; 1111111 2222222 3333333 1111111 2222222 3333333 不展开var gv = new GlideView(idGlideView, 1000, div, 500, TextTag: a, TextHeight: 50 );var oSel = $(sel);for (var i = 0; i = gv._count; i+) var op = document.createElement(OPTION); op.value = i; op.innerHTML = 展开第 + (i + 1) + 个; oSel.appendChild(op);oSel.onchange = function() gv.Set(oSel.value); $(up).onclick = function() gv.Step -= 5; if(gv.Step = 500) gv.Step = 50; ;$(stop).onclick = function() clearTimeout(gv._timer); ;$(start).onclick = function() gv.Move(); ;$(close).onclick = function() gv.Step = 1; ;$(open).onclick = function() gv.Step = gv.options.Step; ;$(hide).onclick = function() gv.Showtext = false
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年乡村旅游与非物质文化遗产传承报告
- 玛利亚vip门诊协议书
- 聘用退休人员签合同范本
- 猪场合作养殖协议书范本
- 首封人债权转让合同范本
- 淘宝与快递合作合同范本
- 汽油餐饮车转让合同范本
- 涂料机低价转让协议合同
- 签订借款合同后的协议书
- 篮球互租合同协议书范本
- 2024劳务分包合同范本下载
- 中国移动公开竞聘考试题库(含答案)
- 退学费和解协议书模板
- 【课件】2025届高三生物一轮复习备考策略研讨
- 某集团国企改革三年行动工作台账
- HJ 636-2012 水质 总氮的测定 碱性过硫酸钾消解紫外分光光度法
- 《公平竞争审查条例》微课
- 2024-2029年中国热成型钢行业市场现状分析及竞争格局与投资发展研究报告
- 2024年四川成都市第八人民医院人员招聘13人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 广东省韶关市翁源县2023-2024学年七年级12月月考语文试题
- 工业设备故障预测与维护
评论
0/150
提交评论