当前位置:编程学习 > JS >>

CSS+Js圆角的滑动门

很奇特、个性十足的网页选项卡。一改方方正正的风格,将滑动门的每个卡片的边框修饰为圆角形,效果挺不错,兼容性也良好,用到有背景图片,其实你可以修改修饰用的背景图片,改成其它形状,这样另一款个性滑动门就诞生了。
答案:<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS+Js圆角的滑动门</title>
	<style type="text/css">
	#ad{
		margin: 0 auto;
		width:760px;
		margin-top:2px;
	}
	
	body{
		font-family: Trebuchet MS, Lucida Sans Unicode, Arial, sans-serif;
		margin-top:0px;
					
	}
	.bodyText{
		padding-left:10px;
		padding-right:10px;
		border-top:1px solid #000000;	
	}
	.bodyText p{
		margin-top:5px;
	}
	#mainContainer{
		width:760px;
		height:500px;
		border:1px solid #000000;
		margin:0 auto;
		padding-top:85px;			
	}

	#mainMenu{
		background-color: #FFF;	
		font-family: Trebuchet MS, Arial, sans-serif;
		font-size:0.9em;
		border-bottom:1px solid #000000;
		height:30px;
		position:relative;
		
	}
	#mainMenu a{
		padding-left:17px;
		padding-right:17px;
		font-weight:bold;
		position:absolute;
		bottom:-1px;
		line-height:25px;
	}
	#submenu{		
		font-family: Trebuchet MS,Arial, sans-serif;
		background-color:#E2EBED;
		width:100%;
	}	
	#submenu div{
		white-space:nowrap;
	}
	#mainMenu .activeMenuItem{
		background-image:url('/jscss/demoimg/200906/tabmenu_left.gif');
		background-position:bottom left;
		background-repeat:no-repeat;
		cursor:pointer;	
	}
	#mainMenu .activeMenuItem img{
		position:absolute;
		bottom:0px;
		right:0px;
	}
	#mainMenu .inactiveMenuItem{		
		color: #000;
		cursor:pointer;	
	}
	
	#submenu a{	
		text-decoration:none;
		padding-left:5px;
		padding-right:5px;
		color: #000;
		font-size:0.9em; 
	}
	#submenu a:hover{
		color: #FF0000;
	}
	
	</style>
	<script type="text/javascript">
	var menuAlignment = 'left';	
	var topMenuSpacer = 0; 
	var activateSubOnClick = false; 
	var leftAlignSubItems = false;
	var activeMenuItem = false;
	var activeTabIndex = 0;
	var rememberActiveTabByCookie = true;
	var MSIE = navigator.userAgent.indexOf('MSIE')>=0?true:false;
	var Opera = navigator.userAgent.indexOf('Opera')>=0?true:false;
	var navigatorVersion = navigator.appVersion.replace(/.*?MSIE ([0-9]\.[0-9]).*/g,'$1')/1;
	function Get_Cookie(name) { 
	   var start = document.cookie.indexOf(name+"="); 
	   var len = start+name.length+1; 
	   if ((!start) && (name != document.cookie.substring(0,name.length))) return null; 
	   if (start == -1) return null; 
	   var end = document.cookie.indexOf(";",len); 
	   if (end == -1) end = document.cookie.length; 
	   return unescape(document.cookie.substring(len,end)); 
	} 
	
	function Set_Cookie(name,value,expires,path,domain,secure) { 
		expires = expires * 60*60*24*1000;
		var today = new Date();
		var expires_date = new Date( today.getTime() + (expires) );
	    var cookieString = name + "=" +escape(value) + 
	       ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + 
	       ( (path) ? ";path=" + path : "") + 
	       ( (domain) ? ";domain=" + domain : "") + 
	       ( (secure) ? ";secure" : ""); 
	    document.cookie = cookieString; 
	}	
	
	function showHide()
	{
		if(activeMenuItem){
			activeMenuItem.className = 'inactiveMenuItem'; 	
			var theId = activeMenuItem.id.replace(/[^0-9]/g,'');
			document.getElementById('submenu_'+theId).style.display='none';
			var img = activeMenuItem.getElementsByTagName('IMG');
			if(img.length>0)img[0].style.display='none';			
		}

		var img = this.getElementsByTagName('IMG');
		if(img.length>0)img[0].style.display='inline';	
		activeMenuItem = this;		
		this.className = 'activeMenuItem';
		var theId = this.id.replace(/[^0-9]/g,'');
		document.getElementById('submenu_'+theId).style.display='block';
		if(rememberActiveTabByCookie){
			Set_Cookie('dhtmlgoodies_tab_menu_tabIndex','index: ' + (theId-1),100);
		}
	}
	function initMenu()
	{
		var mainMenuObj = document.getElementById('mainMenu');
		var menuItems = mainMenuObj.getElementsByTagName('A');
		if(document.all){
			mainMenuObj.style.visibility = 'hidden';
			document.getElementById('submenu').style.visibility='hidden';
		}		
		if(rememberActiveTabByCookie){
			var cookieValue = Get_Cookie('dhtmlgoodies_tab_menu_tabIndex') + '';
			cookieValue = cookieValue.replace(/[^0-9]/g,'');
			if(cookieValue.length>0 && cookieValue<menuItems.length){
				activeTabIndex = cookieValue/1;
			}			
		}
		var currentLeftPos = 15;
		for(var no=0;no<menuItems.length;no++){			
			if(activateSubOnClick)menuItems[no].onclick = showHide; else menuItems[no].onmouseover = showHide;
			menuItems[no].id = 'mainMenuItem' + (no+1);
			if(menuAlignment=='left')
				menuItems[no].style.left = currentLeftPos + 'px';
			else
				menuItems[no].style.right = currentLeftPos + 'px';
			currentLeftPos = currentLeftPos + menuItems[no].offsetWidth + topMenuSpacer; 
			
			var img = menuItems[no].getElementsByTagName('IMG');
			if(img.length>0){
				img[0].style.display='none';
				if(MSIE && !Opera && navigatorVersion<7){
					img[0].style.bottom = '-1px';
					img[0].style.right = '-1px';
				}
			}
						
			if(no==activeTabIndex){
				menuItems[no].className='activeMenuItem';
				activeMenuItem = menuItems[no];
				var img = activeMenuItem.getElementsByTagName('IMG');
				if(img.length>0)img[0].style.display='inline';	
							
			}else menuItems[no].className='inactiveMenuItem';
			if(!document.all)menuItems[no].style.bottom = '-1px';
			if(MSIE && navigatorVersion < 6)menuItems[no].style.bottom = '-2px';
			

		}		
		
		var mainMenuLinks = mainMenuObj.getElementsByTagName('A');
		var subCounter = 1;
		var parentWidth = mainMenuObj.offsetWidth;
		while(document.getElementById('submenu_' + subCounter)){
			var subItem = document.getElementById('submenu_' + subCounter);
			if(leftAlignSubItems){
			}else{							
			var leftPos = mainMenuLinks[subCounter-1].offsetLeft;
			document.getElementById('submenu_'+subCounter).style.paddingLeft =  leftPos + 'px';
			subItem.style.position ='absolute';
			if(subItem.offsetWidth > parentWidth){
			leftPos = leftPos - Math.max(0,subItem.offsetWidth-parentWidth); 	
			}
			subItem.style.paddingLeft =  leftPos + 'px';
			subItem.style.position ='static';		
				
			}
			if(subCounter==(activeTabIndex+1)){
			subItem.style.display='block';
			}else{
			subItem.style.display='none';
			}
			subCounter++;
		}
		if(document.all){
		mainMenuObj.style.visibility = 'visible';
		document.getElementById('submenu').style.visibility='visible';
		}		
		document.getElementById('submenu').style.display='block';
	}
	</script>

</head>
<body>
<body>
<div id="mainContainer">
<div id="mainMenu">
	<a>Windows主页<img src="/jscss/demoimg/200906/tabmenu_right.gif"></a>
	<a>Offoce主页<img src="/jscss/demoimg/200906/tabmenu_right.gif"></a>
	<a>About us<img src="/jscss/demoimg/200906/tabmenu_right.gif"></a>
	<a>Download<img src="/jscss/demoimg/200906/tabmenu_right.gif"></a>
</div>
<div id="submenu">
	<!-- The first sub menu -->
	<div id="submenu_1">
		<a href="/">Product 1</a>
		<a href="/">Product 3</a>
	</div>
	<!-- Second sub menu -->
	<div id="submenu_2">
		<a href="/">Phone</a>
	</div>
	<!-- Third sub menu -->
	<div id="submenu_3">
		<a href="/">History</a>
		<a href="/">Visions</a>
	</div>
	<!-- Fourth sub menu -->
	<div id="submenu_4">
		<a href="/">Patches</a>
		<a href="/">White易做图s</a>

上一个:一个最普通的CSS导航菜单
下一个:当前项带下划线的标准CSS菜单

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,