首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用javascript切换菜单

使用javascript切换菜单
EN

Stack Overflow用户
提问于 2013-11-01 05:53:33
回答 3查看 5.4K关注 0票数 0

我需要切换-打开,监听一下点击,然后将切换框的类名改为'open‘。然后切换-关闭,听一声点击,然后改变切换框的类名为“关闭”。这是我已经有的代码,它不工作,有什么建议吗?

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Drop Down</title>
    <link rel="stylesheet" href="dropdown.css" type="text/css"/>
</head>
<body>

<div id="toggle-box" class="close">
    <div id="toggle-open">Settings</div>
    <div id="toggle-close">Close</div>
    <ul>
        <li>
            <label for="s-1">
                <input id="s-1" type="checkbox" checked>
                <span>Setting One</span>
            </label>
        </li>
        <li>
            <label for="s-2">
                <input id="s-2" type="checkbox" checked>
                <span>Setting Two</span>
            </label>
        </li>
        <li>
            <label for="s-3">
                <input id="s-3" type="checkbox">
                <span>Setting Three</span>
            </label>
        </li>
        <li>
            <label for="s-4">
                <input id="s-4" type="checkbox" checked>
                <span>Setting Four</span>
            </label>
        </li>
        <li>
            <label for="s-5">
                <input id="s-5" type="checkbox">
                <span>Setting Five</span>
            </label>
        </li>
    </ul>
</div>
<p style="margin-top: 100px; text-align: center; font-size: 75%;"><a href="../dropdown.zip">Download the files (dropdown.zip)</a></p>
<script src="dropdown.js"></script>
</body>

EN

回答 3

Stack Overflow用户

发布于 2013-11-01 06:03:58

如果您可以将jquery javascript库添加到您的页面(只需多添加一个代码块),则可以使用以下javascript来完成此操作:

代码语言:javascript
复制
$("#toggle-open").click(function() {
  $("#toggle-box").attr("class", "open");
});
$("#toggle-close").click(function() {
  $("#toggle-box").attr("class", "close");
});

如果没有jquery:

代码语言:javascript
复制
document.getElementById("toggle-open").addEventListener("click", function() {
    document.getElementById("toggle-box").setAttribute("class", "open");
});
document.getElementById("toggle-close").addEventListener("click", function() {
    document.getElementById("toggle-box").setAttribute("class", "close");
});
票数 0
EN

Stack Overflow用户

发布于 2013-11-01 06:29:59

不需要jQuery。

代码语言:javascript
复制
var toggleBox = document.getElementById('toggle-box');

document.getElementById('toggle-open').click = function() {
  toggleBox.className = 'open';
};

document.getElementById('toggle-close').click = function() {
  toggleBox.className = 'close';
};
票数 0
EN

Stack Overflow用户

发布于 2013-11-01 06:37:38

而不是这行:

代码语言:javascript
复制
<script src="dropdown.js"></script> 

在您的代码中,您可以这样写:(您可以删除包含alert(tooglebox.className)的行,我只是为了测试这些行。)

代码语言:javascript
复制
<script>
var settings = document.getElementById('toggle-open');
var close = document.getElementById('toggle-close');
var tooglebox = document.getElementById('toggle-box');

settings.onclick = function(){
    tooglebox.className = "open";
    alert(tooglebox.className);
}    
close.onclick = function(){
    tooglebox.className = "close";
    alert(tooglebox.className);
}
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19717253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档