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{
width: 300px;
height: 30px;
background: black;
border-radius: 15px;
box-shadow: 0 3px 10px dodgerblue;
margin: 30px auto 0;
}
.nav_list li{
width: 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{
width: 300px;
height: 80px;
margin: 0 auto;
overflow: hidden;
background: #ccc;
}
.nav_listcont ul li{
width: 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){
width: 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';
}
}
js之选项卡效果(淘宝侧边栏)的更多相关文章
- ios 类似的效果淘宝商品详细页面
今天试着写ios 分类似影响淘宝的商品详细页面 我使用第三方库EGORefreshTableHeaderView有一个下拉效果刷新PWLoadMoreTableFooterView上拉电阻负载许多其他 ...
- js实现百度,淘宝搜索功能
Common.js //封装类名 function byClassName(sClassName){ if(document.getElementsBYClassName){ return d ...
- JavaScript(Node.js)+ Selenium 实现淘宝抢单
JavaScript(Node.js)+ Selenium 淘宝抢单 为了买买买我也是拼了,看了一点selenium的资料,随便写的. 程序写的比较烂,但是够我自己用了,望各路大牛指教. 使用说明: ...
- 新手学js的效果图1---( 淘宝等商城货物查看特效)
本人结合之前所学一起写了,多个特效,只是新手自己瞎鼓捣的,思路清晰,具体实现的货物放大镜等,替换当中的img地址就可以查看特效 <!DOCTYPE html> <html lang= ...
- nginx css,js合并插件,淘宝nginx合并js,css插件
先下载Nginx_concat_module,下载后把它放在/usr/local/src/文件夹中,新建文件夹nginx-http-concat把下载的config ngx_http_concat_ ...
- selenium 淘宝登入反爬虫解决方案(亲测有效)
前言 目前在对淘宝进行数据爬取的时候都会碰到,登入时的滑块问题,无论是手动还是脚本都不成功.这里的很重要一个原因是很多的网站都对selenium做了反爬虫机制.接下来是笔者参考网上的网友们的方法亲自测 ...
- (转载)自定义CoordinatorLayout的Behavior(2):实现淘宝和QQ ToolBar透明渐变效果
自定义CoordinatorLayout的Behavior(2):实现淘宝和QQ ToolBar透明渐变效果 作者 小武站台 关注 2016.02.19 11:34 字数 1244 阅读 3885评论 ...
- 解决国内npm安装太慢的方法,又不能FQ情况下,使用淘宝镜像教程
安装npm及cnpm(Windows) [工具官网] 因为国内上网下载组件太慢,淘宝给我们提供了镜像源,,但是我不是建意FQ上网.条件有限的可以使用下面的方法安装CNPM,原文转自网络,正好自己需要也 ...
- 仿淘宝分页按钮效果简单美观易使用的JS分页控件
分页按钮思想: 1.少于9页,全部显示 2.大于9页,1.2页显示,中间页码当前页为中心,前后各留两个页码 附件中有完整例子的压缩包下载.已更新到最新版本 先看效果图: 01输入框焦点效果 ...
随机推荐
- Hibernate的懒加载session丢失解决方法
在web.xml加入spring提供的过滤器,延长session的生命周期 <!--Hibernate的懒加载session丢失解决方法 --> <filter> <fi ...
- LeetCode——merge-two-sorted-lists
Question Merge two sorted linked lists and return it as a new list. The new list should be made by s ...
- 数据结构——堆(Heap)大根堆、小根堆
目录 Heap是一种数据结构具有以下的特点: 1)完全二叉树: 2)heap中存储的值是偏序: Min-heap: 父节点的值小于或等于子节点的值: Max-heap: 父节点的值大于或等于子节点的值 ...
- jQuery Ajax总结
jQuery对Ajax的操作进行了封装.jQuery中\(.ajax()属于最底层的方法,这个放在后面说,首先看看封装了\).ajax()的方法. load()方法 load()可以远程载入HTML并 ...
- Spring MVC 实践笔记
1.了解 Maven 的用法:http://spring.io/guides/gs/maven/ .这篇英文非常详细的演示了 Maven 的用法,在命令行下执行.注意,运行Maven的时候,Maven ...
- Dive into Spring framework -- 了解基本原理(二)--设计模式-part2
Template模式 Template模式顾名思义是提供了一种模板,也就是针对某种业务提供了模范框架.这个在spring中是属于核心模式的,因为其ApplicationContext抽象类就是模板模式 ...
- Struts2框架学习第二章——Struts2下的HelloWorld
本章要点 — Struts 2的下载和安装 — 纯手工创建一个Web应用 — 纯手工创建一个Struts 2应用 — 实现Struts 2的Action — 配置Struts 2的Action — ...
- LeetCode第[78]题(Java):Subsets(求子集)扩展——第[90]题:Subsets 2
题目:矩阵置0 难度:Easy 题目内容: Given a set of distinct integers, nums, return all possible subsets (the pow ...
- rdlc报表出现多余空白页面
1.RDLC报表设计好后,在ReportViewer预览报表时,页数都正常:但在切换为整页模式时,常造成多了不少空白页出来.第一时间觉得不可思议,在ReportViewer看来正常,怎可能在整页预览时 ...
- 设计模式--模板方法模式C++实现
模板方法模式C++实现 1定义 定义一个操作的算法的框架,而将一些步骤延迟到子类中.使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 实现方案:将算法/逻辑框架放在抽象基类中,并定义好 ...