javascript实现多栏闭合展开式广告位菜单效果实例


Posted in Javascript onAugust 05, 2015

本文实例讲述了javascript实现多栏闭合展开式广告位菜单效果。分享给大家供大家参考。具体如下:

从操作方式上来说,有似曾相识的感觉,有点手风琴菜单的味道,像一个折叠面板,用JavaScript和CSS结合来实现,虽然不华丽,但很简洁实用,也算是给喜欢网页特效的朋友们一个可参考素材吧。

运行效果如下图所示:

javascript实现多栏闭合展开式广告位菜单效果实例

具体代码如下:

<!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="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
<!--
* {margin:0; padding:0; font-size:12px;}
ul,li { list-style:none;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{zoom:1;}
#dd { width:303px; height:80px; margin:50px auto 0 auto; border:1px solid #ccc; border-right:none; overflow:hidden;}
#dd li { float:left; width:50px; height:80px; overflow:hidden;border-right:1px solid #ccc;}
#dd li span { width:50px; display:inline-block; text-align:center; line-height:80px;}
#dd li p { width:150px; display:inline-block;}
#dd li.on { width:200px;}
#ii { width:303px; margin:5px auto 0 auto;}
#ii li { float:left; width:10px; height:10px; margin:0 1px; background:#ccc; text-align:center; line-height:10px; cursor:pointer;}
#ii li.on{ background:#6CF;}
-->
</style>
</head>
<body>
<ul id="dd" class="clearfix">
 <li><span>表一</span><p>常用ASP函数大全<br />学习必备资料</p></li>
 <li><span>表二</span><p>十大jquery特效<br />惊天秘密,不容错过</p></li>
 <li><span>表三</span><p>Ajax交互改革<br />Ajax带给你空前体验</p></li>
</ul>
<ul id="ii" class="clearfix">
 <li>1</li>
 <li>2</li>
 <li>3</li>
</ul>
<script type="text/javascript">
<!--
 function newSlider(){
 var dl=document.getElementById("dd").getElementsByTagName("li");
 var il=document.getElementById("ii").getElementsByTagName("li");
 var dlen = dl.length;
 var timer = null,index = 0,autoTime = 3000;
 //timer定时器,index当前显示的是第几个,autotime自动切换时间
 dl[0].className="on",il[0].className="on";
 //切换函数
 function play(j){
  index = j;
  stopAuto();//停止计时
  for (var i=0;i<dlen ;i++ ){
  dl[i].className="";
  il[i].className="";
  }
  dl[j].className="on";
  il[j].className="on";
  startAuto();//重新开始计时
 }
 //mouseover表切换
 for ( var i=0;i<dlen ;i++ ){
  dl[i].onmouseover=function(j){
  return function(){play(j);}
  }(i)
 }
 //click按钮切换
 for ( var i=0;i<dlen ;i++ ){
  il[i].onclick=function(j){
  return function(){play(j);}
  }(i)
 }
 //自动切换开始
 function startAuto(){
  timer = setInterval(function(){
  index++;
  index = index>dlen-1?0:index;
  play(index);
  },autoTime);
 }
 //自动切换停止
 function stopAuto(){
  clearInterval(timer);
 }
 //启动自动切换
 startAuto()
 }
window.onload=function(){
newSlider();
}
//-->
</script>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 面向对象编程 万物皆对象
Sep 17 Javascript
jQuery学习2 选择器的使用说明
Feb 07 Javascript
学习JavaScript设计模式(策略模式)
Nov 26 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
Dec 13 Javascript
Node.js实现兼容IE789的文件上传进度条
Sep 02 Javascript
JS一个简单的注册页面实例
Sep 05 Javascript
vue-router的使用方法及含参数的配置方法
Nov 13 Javascript
生产制造追溯系统之在线打印功能
Jun 03 Javascript
a标签调用js的方法总结
Sep 05 Javascript
Nuxt使用Vuex的方法示例
Sep 06 Javascript
过滤器vue.filters的使用方法实现
Sep 18 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
Aug 14 Javascript
JavaScript实现可拖拽的拖动层Div实例
Aug 05 #Javascript
JQuery悬停控制图片轮播——代码简单
Aug 05 #Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
Aug 05 #Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
Aug 05 #Javascript
JS绘制生成花瓣效果的方法
Aug 05 #Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 #Javascript
将页面table内容与样式另存成excel文件的方法
Aug 05 #Javascript
You might like
php实现window平台的checkdnsrr函数
2015/05/27 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
angularjs基础教程
2014/12/25 Javascript
JavaScript代码判断点击第几个按钮
2015/12/13 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
jquery插件开发之选项卡制作详解
2017/08/30 jQuery
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
vue双击事件2.0事件监听(点击-双击-鼠标事件)和事件修饰符操作
2020/07/27 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
vue router返回到指定的路由的场景分析
2020/11/10 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
python 获取网页编码方式实现代码
2017/03/11 Python
Python工程师面试必备25条知识点
2018/01/17 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
退休教师欢送会主持词
2014/03/31 职场文书
妇联主席先进事迹
2014/05/18 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
暑期培训心得体会
2014/09/02 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
2014年政工师工作总结
2014/12/18 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
python和anaconda的区别
2022/05/06 Python