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 相关文章推荐
JQuery autocomplete 使用手册
Apr 01 Javascript
jQuery+CSS3实现树叶飘落特效
Feb 01 Javascript
jQuery经过一段时间自动隐藏指定元素的方法
Mar 17 Javascript
js判断移动端是否安装某款app的多种方法
Dec 18 Javascript
JavaScript基础知识点归纳(推荐)
Jul 09 Javascript
JavaScript面向对象编写购物车功能
Aug 19 Javascript
JavaScript动态绑定详解
Sep 14 Javascript
Vue工程模板文件 webpack打包配置方法
Dec 26 Javascript
在vue中获取token,并将token写进header的方法
Sep 26 Javascript
判断“命令按钮”是否被鼠标单击详解
Jul 31 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
Oct 30 Javascript
vue请求数据的三种方式
Mar 04 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 程序授权验证开发思路
2009/07/09 PHP
基于php下载文件的详解
2013/06/02 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
高效的获取当前元素是父元素的第几个子元素
2013/10/15 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
jQuery zclip插件实现跨浏览器复制功能
2015/11/02 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
Jquery中attr与prop的区别详解
2017/05/27 jQuery
微信小程序之网络请求简单封装实例详解
2017/06/28 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
python实现sublime3的less编译插件示例
2014/04/27 Python
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
详解CSS3:overflow属性
2020/11/17 HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
2014/05/08 HTML / CSS
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
物业管理公司实习生自我鉴定
2013/09/19 职场文书
百年校庆节目主持词
2014/03/27 职场文书
社团活动总结报告
2014/06/27 职场文书
公司离职证明范本
2014/10/17 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js