zoukankan      html  css  js  c++  java
  • js之选项卡效果(淘宝侧边栏)

    HTML

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title></title>
    <link rel="stylesheet" href="css/index.css" />
    </head>
    <body>
    	<ul class="nav_list">
    		<li class="focus">公告</li>
    		<li>规则</li>
    		<li>论坛</li>
    		<li>安全</li>
    		<li>公益</li>
    	</ul>	
    	<div class="nav_listcont">
    		<ul>
    			<li><a href="">阿里集团战略投资居然之家 开启家居新零售时代</a></li>
    			<li><a href="">大数据透析女性消费</a></li>
    			<li><a href="">"天字号"计划半年记</a></li>
    		</ul>
    		<ul>
    			<li><a href="">《阿里创作平台管理规范(“微淘号·达人”适用)》变更公示通知</a></li>
    			<li><a href="">《淘宝网数字娱乐市场须提供官方授权的商品目录》变更公示通知</a></li>
    			<li><a href="">《淘宝网大家电须通过供销平台建立代销模式的指定品牌》变更公示通知</a></li>
    			<li><a href="">飞猪旅行集市用车相关管理规定变更公示通知</a></li>
    		</ul>
    		<ul>
    			<li><a href="">淘宝招募志愿者</a></li>
    			<li><a href="">评价管理功能上线</a></li>
    			<li><a href="">正确的品牌营销推广</a></li>
    			<li><a href="">2018年消费者趋势</a></li>
    		</ul>
    		<ul>
    			<li><a href="">公益“护苗”行动招募</a></li>
    			<li><a href="">你愿意加入我们吗?</a></li>
    			<li><a href="">卖家注意:风险通报!</a></li>
    			<li><a href="">售假获刑又起诉!</a></li>
    		</ul>
    		<ul>
    			<li><a href="">九寨沟地震紧急救援</a></li>
    			<li><a href="">公益宝贝卖家准入公告</a></li>
    			<li><a href="">致百万商家的感谢信</a></li>
    			<li><a href="">公益宝贝卖家发票索取</a></li>
    		</ul>
    	</div>
    	<script src="js/common.js"></script>
    	<script src="js/index.js"></script>
    </body>
    </html>
    

      CSS

    *{
    	margin: 0;
    	padding: 0;	
    }
    ul li{
    	list-style: none;
    }
    .nav_list{
    	 300px;
    	height: 30px;
    	background: black;
    	border-radius: 15px;
    	box-shadow: 0 3px 10px dodgerblue;
    	margin: 30px auto 0;
    }
    .nav_list li{
    	 60px;
    	height: 30px;
    	line-height: 30px;
    	text-align: center;
    	float: left;
    	color: #9ff;
    	transition: all .5s;
    }
    .nav_list li:nth-of-type(1):hover{
    	border-top-left-radius: 15px;
    	border-bottom-left-radius: 15px;
    }
    .nav_list li:last-child:hover{
    	border-top-right-radius: 15px;
    	border-bottom-right-radius: 15px;
    }
    .nav_list  .focus{
    	background: red;
    	color: yellow;
    }
    .nav_listcont ul li a{
    	font-size: 14px;
    	color: #333;
    	text-decoration: none;
    }
    .nav_listcont{
    	 300px;
    	height: 80px;
    	margin: 0 auto;
    	overflow: hidden;
    	background: #ccc;
    }
    .nav_listcont ul li{
    	 150px;
    	height: 30px;
    	overflow: hidden;
    	white-space: nowrap;
    	text-overflow: ellipsis;
    	line-height: 30px;
    	float: left;
    	text-shadow: 0 0 10px yellow;
    	margin: 5px 0 0;
    }
    .nav_listcont ul:nth-of-type(1) li:nth-of-type(1){
    	 300px;
    }
    

      JS

    Common.js

    function byCLassName(sClassName){
    	if(document.getElementsByClassName){
    		return document.getElementsByClassName(sClassName);
    	} else {
    		var arr = [];
    		var allTags = document.getElementsByTagName('*');
    		for(var i = 0; i< allTags.length;i++){
    			if(allTags.className === sClassName){
    				arr.push(allTags.className);
    			}
    		}
    		return arr;
    	}
    }
    //封装ajax请求函数
    function ajax({type,data,url,async,beforeSend,success,complete}){
    	var async = async || true;
    //	创建对象
    	var xhr = new XMLHttpRequest();
    //	字符串的拼接
    		if(typeof data === 'object'){
    			var str = '';
    			for(var attr in data){
    				str += encodeURIComponent(attr) + '=' + encodeURIComponent(data[attr]) + '&';
    			}
    			data = str.slice(0,-1);
    		}
    	if(type.toUpperCase() === 'GET' && data){
    		url += '?' + data;
    	}
    //	配置
    	xhr.open(type,url,async);
    //	接收数据
    	xhr.onreadystatechange = function(){
    		if(xhr.readyState === 4){
    			if(xhr.status === 200){
    				success && success(xhr.responseText);
    			}
    			complete && complete();
    		}
    	};
    //	发送
    	beforeSend && beforeSend();
    	if(type.toUpperCase() === 'POST'){
    		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    		xhr.send(data);
    	} else {
    		xhr.send();
    	}
    }
    

      JS

    var oNavList = byCLassName('nav_list')[0];
    var oNavLi = oNavList.children;
    var oNavListCont = byCLassName('nav_listcont')[0];
    var oNavContLi = oNavListCont.children;
    //页面加载完成默认第一个li为block默认显示第一个,当鼠标滑入其他li时,显示该li所对应的nav_listcont
    	for(let i = 0;i<oNavLi.length;i++){
    		oNavLi[i].index = i;
    		console.log(oNavLi[i].index)
    		oNavLi[i].onmouseover = function(){
    			oNavLi[0].className = '';
    			oNavLi[1].className = '';
    			oNavLi[2].className = '';
    			oNavLi[3].className = '';
    			oNavLi[4].className = '';
    			this.className = 'focus';
    			for(var j = 0;j<oNavContLi.length;j++){
    				oNavContLi[j].style.display = 'none';
    			}
    			oNavContLi[this.index].style.display = 'block';
    		}
    	}
    

      

  • 相关阅读:
    一次脑残的记录: Linux 中实时任务调度与优先级
    这 7 个 Linux 命令,你是怎么来使用的?
    物联网设备OTA软件升级之:完全升级和增量升级
    物联网设备OTA软件升级之:升级包下载过程之旅
    Linux应用程序设计:用一种讨巧方式,来获取线程栈的使用信息
    Linux系统中编译、链接的基石-ELF文件:扒开它的层层外衣,从字节码的粒度来探索
    应用程序设计:在动态库中如何调用外部函数?
    Typescript学习笔记
    gRPC 重试策略
    Gogs+Jenkins+Docker 自动化部署.NetCore
  • 原文地址:https://www.cnblogs.com/bgwhite/p/9476695.html
Copyright © 2011-2022 走看看