非常酷的标签菜单效果(DHTML Tab script)
来源:互联网 发布:汽车按揭月供怎么算法 编辑:程序博客网 时间:2024/05/16 04:17
先来看看效果演示(里面插了点广告,可能速度有点慢,呵呵):attachment/DHTML_Tab_script.htm
怎么样,效果不错吧,现在我们来看看代码.
声明(最好用这个声明,否则脚本可能显示不正常):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
js代码:
<SCRIPT type=text/javascript>
var textPadding = 3; // Padding at the left of tab text - bigger value gives you wider tabs
var strictDocType = true;
/*下面的代码不要修改,除非您的js比较强*/
var tabObj;
var activeTabIndex = -1;
var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
var navigatorVersion = navigator.appVersion.replace(/.*?MSIE (d.d).*/g,'$1')/1;
function setPadding(obj,padding){
var span = obj.getElementsByTagName('SPAN')[0];
span.style.paddingLeft = padding + 'px';
span.style.paddingRight = padding + 'px';
}
function showTab(tabIndex)
{
if(activeTabIndex>=0){
if(activeTabIndex==tabIndex)return;
var obj = document.getElementById('tabTab'+activeTabIndex);
obj.className='tabInactive';
var img = obj.getElementsByTagName('IMG')[0];
img.src = 'images/tab_right_inactive.gif';
document.getElementById('tabView' + activeTabIndex).style.display='none';
}
var thisObj = document.getElementById('tabTab'+tabIndex);
thisObj.className='tabActive';
var img = thisObj.getElementsByTagName('IMG')[0];
img.src = 'images/tab_right_active.gif';
document.getElementById('tabView' + tabIndex).style.display='block';
activeTabIndex = tabIndex;
var parentObj = thisObj.parentNode;
var aTab = parentObj.getElementsByTagName('DIV')[0];
countObjects = 0;
var startPos = 2;
var previousObjectActive = false;
while(aTab){
if(aTab.tagName=='DIV'){
if(previousObjectActive){
previousObjectActive = false;
startPos-=2;
}
if(aTab==thisObj){
startPos-=2;
previousObjectActive=true;
setPadding(aTab,textPadding+1);
}else{
setPadding(aTab,textPadding);
}
aTab.style.left = startPos + 'px';
countObjects++;
startPos+=2;
}
aTab = aTab.nextSibling;
}
return;
}
function tabClick()
{
showTab(this.id.replace(/[^d]/g,''));
}
function rolloverTab()
{
if(this.className.indexOf('tabInactive')>=0){
this.className='inactiveTabOver';
var img = this.getElementsByTagName('IMG')[0];
img.src = 'images/tab_right_over.gif';
}
}
function rolloutTab()
{
if(this.className == 'inactiveTabOver'){
this.className='tabInactive';
var img = this.getElementsByTagName('IMG')[0];
img.src = 'images/tab_right_inactive.gif';
}
}
function initTabs(tabTitles,activeTab,width,height)
{
tabObj = document.getElementById('macrolong_tabView');
width = width + '';
if(width.indexOf('%')<0)width= width + 'px';
tabObj.style.width = width;
height = height + '';
if(height.length>0){
if(height.indexOf('%')<0)height= height + 'px';
tabObj.style.height = height;
}
var tabDiv = document.createElement('DIV');
var firstDiv = tabObj.getElementsByTagName('DIV')[0];
tabObj.insertBefore(tabDiv,firstDiv);
tabDiv.className = 'macrolong_tabPane';
for(var no=0;no<tabTitles.length;no++){
var aTab = document.createElement('DIV');
aTab.id = 'tabTab' + no;
aTab.onmouseover = rolloverTab;
aTab.onmouseout = rolloutTab;
aTab.onclick = tabClick;
aTab.className='tabInactive';
tabDiv.appendChild(aTab);
var span = document.createElement('SPAN');
span.innerHTML = tabTitles[no];
aTab.appendChild(span);
var img = document.createElement('IMG');
img.valign = 'bottom';
img.src = 'images/tab_right_inactive.gif';
// IE5.X FIX
if((navigatorVersion && navigatorVersion<6) || (MSIE && !strictDocType)){
img.style.styleFloat = 'none';
img.style.position = 'relative';
img.style.top = '4px'
span.style.paddingTop = '4px';
aTab.style.cursor = 'hand';
} // End IE5.x FIX
aTab.appendChild(img);
}
var tabs = tabObj.getElementsByTagName('DIV');
var divCounter = 0;
for(var no=0;no<tabs.length;no++){
if(tabs[no].className=='macrolong_aTab'){
if(height.length>0)tabs[no].style.height = height;
tabs[no].style.display='none';
tabs[no].id = 'tabView' + divCounter;
divCounter++;
}
}
showTab(activeTab);
}
</SCRIPT>
css代码:
BODY {
MARGIN: 10px
}
.ad {
MARGIN-TOP: 30px; PADDING-TOP: 10px
}
.macrolong_tabPane {
BORDER-BOTTOM: #919b9c 1px solid; HEIGHT: 21px
}
.macrolong_aTab {
BORDER-RIGHT: #919b9c 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: #919b9c 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #919b9c 1px solid; FONT-FAMILY: Trebuchet MS, Lucida Sans Unicode, Arial, sans-serif
}
.macrolong_tabPane DIV {
BACKGROUND-POSITION: left bottom; PADDING-LEFT: 3px; FLOAT: left; MARGIN-LEFT: 0px; VERTICAL-ALIGN: middle; CURSOR: pointer; BOTTOM: -1px; MARGIN-RIGHT: 0px; BACKGROUND-REPEAT: no-repeat; POSITION: relative; HEIGHT: 100%
}
.macrolong_tabPane .tabActive {
Z-INDEX: 10; BACKGROUND-IMAGE: url(images/tab_left_active.gif); MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
.macrolong_tabPane .tabInactive {
Z-INDEX: 1; BACKGROUND-IMAGE: url(images/tab_left_inactive.gif); MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
.macrolong_tabPane .inactiveTabOver {
BACKGROUND-IMAGE: url(images/tab_left_over.gif); MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
.macrolong_tabPane SPAN {
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-SIZE: 11px; FLOAT: left; VERTICAL-ALIGN: top; LINE-HEIGHT: 21px; FONT-FAMILY: arial
}
.macrolong_tabPane .tabActive SPAN {
PADDING-BOTTOM: 1px; LINE-HEIGHT: 20px
}
.macrolong_tabPane IMG {
FLOAT: left
}
html代码:
<DIV id=macrolong_tabView>
<DIV class=macrolong_aTab> This is the content of the
first tab. This is just a plain <DIV>.
<script type="text/javascript"><!--
google_ad_client = "pub-5527330497656431";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text_image";
google_ad_channel ="";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
The tabs are created by a
javascript function. This is the content of the first tab. This is just a plain
<DIV>. The tabs are created by a javascript function. This is the content
of the first tab. This is just a plain <DIV>. The tabs are created by a
javascript function.
</DIV>
<DIV class=macrolong_aTab>This is the content of the second tab.</DIV>
<DIV class=macrolong_aTab>This script is tested in
<UL>
<LI>IE 5.5
<LI>IE 6
<LI>Opera 8.5
<LI>Firefox </LI>
</UL>
</DIV>
<DIV class=macrolong_aTab>Content of tab 4
</DIV></DIV>
<!--下面是引用代码-->
<SCRIPT type=text/javascript>
initTabs(Array('Menu scripts','Calender','Menus','About us'),0,500,400);
</SCRIPT>
- 非常酷的标签菜单效果(DHTML Tab script)
- 仿163效果的TAB标签效果
- 非常酷的五星展开菜单显示效果
- TAB标签效果
- js-tab标签效果
- EXTJs工具条,菜单,Tab标签
- jquery tab菜单切换效果
- 10 个非常酷的基于jQuery的菜单效果插件 《转》
- 10 个非常酷的基于jQuery的菜单效果插件 《转》
- 为EasyUI 的Tab 标签添加右键菜单(转)
- 如何创建一个非常酷的3D效果菜单(swift)
- DHTML菜单
- tab jquery 标签页效果
- 网页标签(tab)效果
- tab 标签卡 效果 源码
- JS实现TAB标签效果
- 细微处提高tab标签鼠标效果的用户体验
- js(JavaScript)代码实现的TAB标签切换效果
- Apche日志分析
- C#怎么使得窗体在最下面和最上面切不会因win+d而最小化
- 关于loose.dtd和xhtml1-transitional.dtd等文档类型定义模型中CSS失效的解决办法。
- Microsoft Office Professional Plus 2007 Beta 2 (Reupload)
- 设计模式之行为模式(全)
- 非常酷的标签菜单效果(DHTML Tab script)
- 传统web应用程序里程碑式的转变----AJAX技术
- 微软提供的IE开发TOOLBAR,好东西啊,呵呵~~~~
- 今天考试我要学习MCSE2003了
- 关于OpenGL光照问题
- windowsHELP!!
- Focus效果的提交信息表单(DIV+CSS)
- 网页:“画中画”效果--IFRAME标签的使用
- [新闻]Mustang更名JDK6,JDK7项目启动