JS对于导航栏、下拉菜单以及选项卡的切换操作、大图轮播(主要练习对于样式表的操作)

1、导航拦以及下拉菜单

css样式表代码

.div1 {
    width: 100px;
    height: 30px;
    background-color: red;
    float: left;
    margin-right: 10px;
}

.div1-div {
    width: 100%;
    height: 400px;
    background-color: green;
    margin-top: 30px;
    display: none;
}

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="css3.css" rel="stylesheet" />
</head>
<body>
    <div class="div1">
        <div class="div1-div"></div>
    </div>
    <div class="div1">
        <div class="div1-div"></div>
    </div>
    <div class="div1">
        <div class="div1-div"></div>
    </div>
    <div class="div1">
        <div class="div1-div"></div>
    </div>
    <div class="div1">
        <div class="div1-div"></div>
    </div>
    <div class="div1">
        <div class="div1-div"></div>
    </div>
</body>
</html>

<script type="text/javascript">
    var oDiv1s = document.getElementsByClassName(‘div1‘);
    var oDiv2s = document.getElementsByClassName(‘div1-div‘);

    for (var i = 0; i < oDiv1s.length; i++) {
        oDiv1s[i].index = i;

        oDiv1s[i].onmouseover = function () {
            this.style.backgroundColor = "blue";
            oDiv2s[this.index].style.display = "block";
        }

        oDiv1s[i].onmouseout = function () {
            this.style.backgroundColor = "red";
            oDiv2s[this.index].style.display = "none";
        }
    }

</script>

执行结果如下:

注意:当鼠标放在红色区域红色区域(也就是导航栏)会变蓝色并且会弹出出相应的下拉菜单(控制下来菜单的是display=block\none)

2、选项卡的操作

CSS样式表代码

.div1 {
    width: 100px;
    height: 30px;
    background-color: green;
    float: left;
    margin-right: 10px;
}

.div2 {
    position:absolute;
    top:43px;
    width: 650px;
    height: 300px;
    background-color: pink;
    z-index:100;
}

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"></div>
    <div class="div1"></div>
    <div class="div1"></div>
    <div class="div1"></div>
    <div class="div1"></div>
    <div class="div1"></div>
    <div class="div2" style="z-index:101;">111111</div>
    <div class="div2">222222</div>
    <div class="div2">333333</div>
    <div class="div2">444444</div>
    <div class="div2">555555</div>
    <div class="div2">666666</div>
</body>
</html>
<script type="text/javascript">
    var oDiv1s = document.getElementsByClassName(‘div1‘);
    var oDiv2s = document.getElementsByClassName(‘div2‘);
    var zind = 102;

    for (var i = 0; i < oDiv1s.length; i++) {
        oDiv1s[i].index = i;
        //点击事件
        oDiv1s[i].onclick = function () {
            for (var j = 0; j < oDiv1s.length; j++) {
                oDiv1s[j].style.backgroundColor = "green";
            }
            this.style.backgroundColor = "red";

            //选项卡切换代码
            oDiv2s[this.index].style.zIndex = zind;
            zind++;

        }

        //移入事件
        oDiv1s[i].onmouseover = function () {
            if (this.style.backgroundColor != "red") {
                this.style.backgroundColor = "blue";
            }
        }

        //移出事件
        oDiv1s[i].onmouseout = function () {
            if (this.style.backgroundColor == ‘blue‘) {
                this.style.backgroundColor = "green";
            }
        }
    }

</script>

执行结果如下:

注意:当用户点击绿色部分会变红同时下面的粉色部分也会跟着切换;但是是点击那个那个变红其他的不变

3、大图轮播

css样式表代码

.imgboss {
    position: relative;
    width: 400px;
    height: 226px;
    background-color: red;
}

    .imgboss img {
        position: absolute;
        width: 100%;
        height: 100%;
        display: none;
    }

.btn_img {
    width: 30px;
    height: 60px;
    background-color: #e0e0e0;
    position: absolute;
    z-index: 1000;
    top: 50%;
    margin-top: -30px;
    text-align: center;
    line-height: 60px;
    font-size: 33px;
    font-weight: bold;
    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/css5.css" rel="stylesheet" />
</head>
<body>

    <div class="imgboss">
        <img class="img_item" src="img/dota_img1.jpg" style="display: block;" />
        <img class="img_item" src="img/dota_img2.jpg" />
        <img class="img_item" src="img/dota_img3.jpg" />
        <img class="img_item" src="img/dota_img4.jpg" />
        <img class="img_item" src="img/dota_img5.jpg" />

        <div class="btn_img" id="btn_left"><</div>
        <div class="btn_img" id="btn_right" style="right: 0px;">></div>
    </div>

</body>
</html>
<script type="text/javascript">
    var count = 0;
    var oImgs = document.getElementsByClassName("img_item");

    document.getElementById("btn_left").onclick = function () {
        move(0);
    }

    document.getElementById("btn_right").onclick = function () {
        move(1);
    }

    function move(a)
    {
        for (var i = 0; i < oImgs.length; i++) {
            oImgs[i].style.display = "none";
        }

        if (a == 0) {
            count--;
            if (count < 0) {
                count = oImgs.length - 1;
            }
        }
        else {
            count++;
            if (count > (oImgs.length - 1)) {
                count = 0;
            }
        }

        oImgs[count].style.display = "block";
    }

</script>
时间: 2024-11-17 09:53:57

JS对于导航栏、下拉菜单以及选项卡的切换操作、大图轮播(主要练习对于样式表的操作)的相关文章

css导航栏下拉菜单代码【转自http://zxm.92.blog.163.com/blog/static/544600282010727112723874/】

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" c

NAV导航栏———下拉菜单

利用CSS实现导航栏菜单—下拉菜单. 首先给出HTML下拉菜单布局格式: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Stylin' with CSS - Figure 6.5 Drop-Down Menus</title> <link rel="stylesheet" type="text/css&

Css之导航栏下拉菜单

Css: /*下拉菜单学习-2017.12.17 20:17 added by ldb*/ ul{ list-style-type:none; margin:0; padding:0; overflow:hidden; background-color:#333; /*固定在顶部*/ /*position:fixed; top:0; width:100%;*/ } li{ float:left; } li a, .dropbtn { display:inline-block; color:whi

华丽导航CSS下拉菜单特效

华丽导航CSS下拉菜单特效,华丽导航,导航特效,CSS,下拉菜单,华丽特效. 代码地址:http://www.huiyi8.com/sc/26811.html 风景图片网:http://www.huiyi8.com/fengjing/

Phpcms V9导航循环下拉菜单的调用技巧

这个方法基于PC V9官方模版中的调用方法,然后利用后台的“Phpcms V9菜单是否显示设置”控制菜单是否显示出来. 先看看最后的效果: 调用方法: <div id="navbar"> <div id="navbarcontent"> <div id="menu"> <ul id="menuul"> {pc:content action="category"

原生js应用setTimeout实现下拉菜单

今天实现一个很简单的下拉菜单的小实例,也就是鼠标移入菜单,它的子菜单出现并延迟消失.大概效果如下图: 来看下布局: <div class="menu" id="menu">主菜单</div> <ul class="mList" id="mList"> <li>下拉菜单一</li> <li>下拉菜单二</li> <li>下拉菜单三&l

JS网页特效操作流程——下拉菜单列表与登录注册弹窗效果

下拉菜单列表 <style>        *{            margin: 0px;            padding: 0px;        }        .menu{            width: 1100px;            height: 30px;            background-image: url(img/魅力罗兰Music炫图18.jpg);            margin-left: 200px;            ma

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"> &

JS学习笔记(一): 使用原生JS 实现导航栏下多级分类弹出效果

在给静态页面静添加交互效果时遇到的问题 : 鼠标划入二级菜单时 一级菜单样 ":hover" 式无法保持 情景如下: 解决思路: 利用二级菜单的onmouseover/out事件 重新构建一级菜单 ".hover" 样式类 代码如下: CSS部分: 在原来的目标:hover样式中 增加 .hover状态 li.app_jd a:hover,li.app_jd a.hover{ background-position: -126px -397px; } li.serv