这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文主要分享了 js 封装一个 tab 切换效果的示例代码,具有很好的参考价值,下面跟着小编一起来看下吧
效果如下:
代码如下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>
- js封装一个tab效果
- </title>
- <style type="text/CSS">
- *{margin:0; padding:0;} body { font:12px/1.8 Arial; color:#666;} .wrapper
- { width:500px; border:1px solid #e6e6e6; margin:0 auto; padding:50px;}
- /*--=tabPanel--*/ #tab{border:1px solid #ccc;} #tab .tab-bd{border-top:none;margin:0
- auto;padding:10px;text-align:left;height:120px;position:relative} .tab-nav{margin:0
- auto;padding:0;background:#eee;height:26px;} .tab-nav li{display:inline;list-style:none
- outside none;width:90px;height:26px;float:left;line-height:26px;text-align:center;}
- .tab-nav li a{color:#555;display:inline-block} .tab-nav li a:hover,.tab-nav
- li.hover a{text-decoration:none;background:#fff;color:#000;display:block;
- } .hidden{display:none}
- </style>
- <script type="text/javascript">
- function tabPanel(param) {
- var defaultIndex = param["default"] || 0,
- //设置显示的页面
- panelobj = param["panel"],
- //设置tab容器
- defalutClass = param["defalutStyle"] || "",
- //设置tab菜单项的普通样式
- hoverClass = param["hoverStyle"] || "hover",
- //设置鼠标移到tab菜单项的样式
- currentIndex = defaultIndex,
- menus = _$(panelobj).getElementsByTagName("ul")[0].getElementsByTagName("li"),
- contents = _$(panelobj).getElementsByTagName("ul")[1].getElementsByTagName("li"),
- menuNumber = menus.length,
- hidden = "hidden";
- for (var i = 0; i < menuNumber; i++) {
- _setClass(contents[0], hoverClass);
- _setClass(contents[i], hidden);
- _setClass(menus[i], defalutClass); (function(i) {
- menus[i].onmouseover = function() {
- var old = menus[currentIndex];
- _setClass(old, defalutClass);
- _setClass(contents[currentIndex], hidden);
- var cur = menus[i];
- _setClass(cur, hoverClass);
- currentIndex = i;
- _setClass(contents[i], "");
- };
- })(i);
- }
- _setClass(menus[currentIndex], hoverClass);
- _setClass(contents[currentIndex], "");
- //便利函数
- function _setClass(obj, className) {
- obj.className = className
- }
- function _$(oid) {
- return typeof(oid) == "string" ? document.getElementById(oid) : oid
- }
- }
- </script>
- <body>
- <div class="wrapper">
- <div id="tab">
- <!-- tabHead -->
- <ul class="tab-nav">
- <li>
- <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow"
- rel="external nofollow">
- 交易安全
- </a>
- </li>
- <li>
- <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow"
- rel="external nofollow">
- 淘宝大学
- </a>
- </li>
- <li>
- <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow"
- rel="external nofollow">
- 爱心
- </a>
- </li>
- </ul>
- <!-- tabPanel-->
- <ul class="tab-bd">
- <li>
- 1111
- </li>
- <li>
- 222
- </li>
- <li>
- 333
- </li>
- </ul>
- </div>
- <script type="text/javascript">
- tabPanel({
- "panel": "tab"
- }); //panel为必填项,default、defalutStyle、hoverStyle为选填项
- </script>
- </div>
- </body>
- </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持 phperz!
(adsbygoogle = window.adsbygoogle || []).push({});
来源: http://www.phperz.com/article/17/0703/327573.html