2017-3-30 Js实现导航栏,选项卡,图片轮播的制作
(一)导航栏的制作
显示的效果:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
.div1 {
width: 100px;
height: 30px;
background-color: red;
float: left;
margin-right: 10px;
position: relative;
}
.div2 {
width: 100px;
height: 230px;
background-color: yellow;
float: left;
margin-right: 10px;
position: absolute;
top: 30px;
display: none;
}
</style>
</head>
<body>
<div class="div1" id="div_1">
<div class="div2">
</div>
</div>
<div class="div1" id="div_2">
<div class="div2">
</div>
</div>
<div class="div1" id="div_3">
<div class="div2">
</div>
</div>
<div class="div1" id="div_4">
<div class="div2">
</div>
</div>
<div class="div1" id="div_5">
<div class="div2">
</div>
</div>
</body>
</html>
<script type="text/javascript">
var a = document.getElementsByClassName('div1');
var b = document.getElementsByClassName('div2');
for (var i = 0; i < a.length; i++) {
//鼠标移入
a[i].index = i;//记录一个int类型的值,使div1和div2对应起来鼠标移入移除的时候显示相应的下拉菜单
a[i].onmouseover = function () {
a[this.index].style.backgroundColor = 'black';//鼠标移入的时候div1变色
b[this.index].style.display = 'block';
}
//鼠标移除
a[i].onmouseout = function () {
a[this.index].style.backgroundColor = 'red';//鼠标移除的时候div1恢复原来的颜色
b[this.index].style.display = 'none';
}
}
</script>
(二)选项卡的制作
点击导航栏,div中的内容发生变化,变化用数字代替
css样式:
.div1 { width:100px; height:30px; float:left; margin-right:10px; background-color:red; } .div2 { top:40px; background-color:blue; width:540px; height:300px; position:absolute; z-index:100;
}
js代码div内容:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="Css/Css3.css" rel="stylesheet" />
</head>
<body>
<div class="div1" id="d1"></div>
<div class="div1" id="d2"></div>
<div class="div1" id="d3"></div>
<div class="div1" id="d4"></div>
<div class="div1" id="d5"></div>
<div class="div2" id="da" style="z-index:101;">111</div>
<div class="div2" id="db">222</div>
<div class="div2" id="dc">333</div>
<div class="div2" id="de">444</div>
<div class="div2" id="df">555</div>
</body>
</html>
<script type="text/javascript">
var a = document.getElementsByClassName('div1');
var b = document.getElementsByClassName('div2');
var count = 102;
for (var i = 0; i < a.length; i++) {
//鼠标移入
a[i].onmouseover = function () {
if (this.style.backgroundColor != 'black') {//鼠标移入的时候只要不是黑色都变成黄色
this.style.backgroundColor = 'yellow';
}
}
//鼠标移出
a[i].onmouseout = function () {
if (this.style.backgroundColor == 'yellow') {
this.style.backgroundColor = 'red';
}
}
//鼠标点击
a[i].index = i;//用于计数比较的一定要放在点击事件的外面
a[i].onclick = function () {
for (var j = 0; j < a.length;j++){
a[j].style.backgroundColor = 'red';
}
this.style.backgroundColor = 'black';
//选项卡切换
b[this.index].style.zIndex = count;
count++;
}
}
</script>
(三)图片轮播
显示效果:

css样式表:
.div1 { width:730px; height:336px; position:relative; background-color:red; } .div1 img { width:100%; height:100%; position:absolute; display:none; } .but { width:40px; height:50px; background-color:#808080; z-index:1000; position:absolute; top:50%; margin-top:-25px; font-size:30px; line-height:50px; font-weight:bold; text-align:center; cursor:pointer; }
js和内容:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link href="Css/Css4.css" rel="stylesheet" />
</head>
<body>
<div class="div1" id="da">
<img class="img" src="images/1_1.jpg" style="display:block"/>
<img class="img" src="images/1_2.jpg" />
<img class="img" src="images/1_3.jpg" />
<img class="img" src="images/1_4.jpg" />
<img class="img" src="images/1_5.jpg" />
<img class="img" src="images/1_6.jpg" />
<div class="but" id="but_left"><</div>
<div class="but" id="but_right" style="right:0px;">></div>
</div>
</body>
</html>
<script type="text/javascript">
var images = document.getElementsByClassName('img');
var count = 0;
//左滑动事件
document.getElementById('but_left').onclick = function () {
for (var i = 0; i < images.length; i++) {
images[i].style.display = 'none';
}
count--;
if (count <0) {
count = images.length - 1;
}
images[count].style.display = 'block';
}
//右滑动事件
document.getElementById('but_right').onclick = function () {
for (var i = 0; i < images.length;i++){
images[i].style.display = 'none';
}
count++;
if (count > (images.length - 1)) {
count = 0;
}
images[count].style.display = 'block';
}
</script>
浙公网安备 33010602011771号