问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求js代码,点击展开,点击关闭。

发布网友 发布时间:2022-04-23 01:41

我来回答

4个回答

懂视网 时间:2022-04-23 06:02

这次给大家带来不用JS做出菜单打开与关闭,不用JS做出菜单打开与关闭的注意事项有哪些,下面就是实战案例,一起来看一下。

我在写有菜单栏的网页时,基本都会用响应式设计来适配移动端,例如把不重要的菜单选项隐藏,或者创建一个菜单按钮来控制的菜单的打开和关闭之类的。而我之前一直是使用JavaScript来实现菜单的打开和关闭的,但最近在网上看到有人使用CSS和HTML来实现这一功能,让我真正的感受到手里只要有一把锤,什么都可以做钉子。

实现之前先来看一下HTML标签和输入类型:

label

<label> 标签为 input 元素定义标注(标记)。

label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。

<label> 标签的 for 属性应当与相关元素的 id 属性相同。

Input Type: checkbox

<input type="checkbox"> 定义复选框。

复选框允许用户在有限数量的选项中选择零个或多个选项。

下面是demo的代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>menu demo</title>
 <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" >
 <style>
 .demo {
 text-align: center;
 }
 /* 点击checkbox时,菜单打开或显示 */
 #menu-checkbox:checked ~ .nav {
 display: none;
 }
 /* 隐藏checkbox的复选框 */
 #menu-checkbox {
 display: none;
 }
 .nav ul{
 list-style: none;
 margin: 0;
 padding: 0;
 font-size: 20px;
 }
 .glyphicon-menu-hamburger {
 font-size: 30px;
 margin-top: 50px;
 }
 </style>
</head>
<body> 
 <p class="demo">
 <!-- label绑定checkbox -->
 <label for="menu-checkbox"><span class="glyphicon glyphicon-menu-hamburger"></label> 
 <input id="menu-checkbox" type="checkbox">
 <p class="nav">
 <ul>
 <li>aaa</li>
 <li>bbb</li>
 <li>ccc</li>
 <li>ddd</li>
 </ul>
 </p>
 </p>
</body>
</html>

效果:

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

nodejs日志模块winston使用方法总结

ES6实现全屏滚动插件步骤详解

热心网友 时间:2022-04-23 03:10

假如html代码如下

<div class="list">
    <h1><a class="open">点击展开</a></h1>
    <div class="box">
        <p>----------</p>
        <a class="close">点击关闭</a>
    </div>
</div>

jquery代码:

$(function(){
    $(".open").click(function(){
        var i=$(".list .open").index($(this));//获取点击open在页面中open类的序列
        if($("#show").length>0)//判断是否存在显示元素id show
        {
           if($(".list .box:eq("+i+")").attr("id")!="show")//判断当前的box是否已显示
           {
                $("#show").attr("id","");
            }
        }
        $(".list .box:eq("+i+")").attr("id","show");
    })
    $(".close").click(function(){
        var i=$(".list .close").index($(this));
        $(".list .box:eq("+i+")").attr("id","");
    })
})

这样对应的css类似如下

.box{display:none}
#show{display:block}

.box默认隐藏 被附加id为show后就显示


因为你的列表内容应该是数据绑定生成的,可以定义相同class,上面是感觉比较通用的写法

手写的,没有测试

追问用js可以吗? 点之前按钮在右边,点完之后右边的没有了在下面。 收回去又在右边那种。谢谢了。o(∩_∩)o 哈哈

追答

js和jquery没多大区别

你在head标签引用下jquery的js就行了jquery可以在官网下载


上面代码可以增加句

$(function(){
    $(".open").click(function(){
        var i=$(".list .open").index($(this));//获取点击open在页面中open类的序列
        if($("#show").length>0)//判断是否存在显示元素id show
        {
           if($(".list .box:eq("+i+")").attr("id")=="show")//如果当前的box已显示
           {
                $("#show").attr("id","");//隐藏当前内容
            }
            else
            
            {
                $("#show").attr("id","");//隐藏其他显示内容
                $(".list .box:eq("+i+")").attr("id","show");//显示当前内容
                $(this).hide();//隐藏当前的open按钮
            }
        }
        
    })
    $(".close").click(function(){
        var i=$(".list .close").index($(this));
        $(".list .box:eq("+i+")").attr("id","");//隐藏当前内容
        $(".list .open:eq("+i+")").show();//显示当前的open按钮
    })
})
如果打开和关闭用同一个按钮比较麻烦不如 用2个不同按钮 显示和隐藏就行了

热心网友 时间:2022-04-23 04:28

var tag="off";//记录开关状态
function test(obj){
//打开
if(tag=="off"){
obj.style.height="150px";//展开的高度
tag="on";//开关设为打开状态
}else{
obj.style.height="0px";//高度设为0
obj.style.display="none";//隐藏
tag="off";//开关设为关闭
}
}

热心网友 时间:2022-04-23 06:03

这个是层的属性和鼠标的单机事件集合即可。属性display(none:隐藏,block:显示),onclick调用的方法中将对象的display切换即可。追问能详细点么?谢谢拉 ;-)

能详细点么?谢谢拉 ;-)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
脚崴了挂什么科、急急急 linux 解压缩工具--tar命令 生日祝福语闺蜜 简短独特暖心 QQ有哪些隐藏的图标??他们分别是什么??怎么样点亮?? QQ业务的各种图标怎么点亮? qq怎么点亮图标和名字 诗中书万象=求下联 大爱如山藏万象下联 中国电子展:电位器和可调电阻的区别是什么?这四点很明显 电位器的接线方法是什么 电位器的工作原理如何 91问问调查网的常见问题 软件外派的员工,一般住哪里? 为什么我的百度网盘里的BT视频文件保存哪一个都显示离线文件内含有违规内容无法下载 重金酬谢~北京瑜舍酒店员工待遇怎么样啊?集体宿舍住哪里? 请问一般的酒店员工宿舍怎样?几人睡?房间内条件如何?有什么设备 91问问怎么赚积分才能多赚啊 在酒店工作,员工是不是得住宿到酒店里??? 酒店里员工住的都是集体宿舍吗? 你发的一年生保存不了,显示离线文件存在违规内容,能再发一次吗? 酒店员工住宿是不是一般都是一个岗位的住在一起啊?还是厨师和服务员也可以住一起啊? 91问问不知道能不能多个账号积分兑换现金到同一个支付宝账号里 北京盘古七星酒店员工宿舍是怎样的 住在哪里 是地下室吗 会展中心喜来登员工住宿怎么样? 91问问调查的调查表不是很多,麻烦再推荐几家,谢谢 四星级酒店员工宿舍标准 酒店员工住宿都在哪里 在高速收费站上班(收费员),工作调动 求自荐书 急、、、 大酒店的服务员一般是在酒店内部住,还是老板在外面另租房子啊? 酒店服务员是住在酒店的吗? 高速公路收费员工作失误检讨书怎么写? 我喜欢白色面板的冰箱,有推荐的吗?当然,要是牌子的 想把那个白色冰箱去掉,请问用的是什么软件 外表是白色的冰箱比外表是绿色的冰箱省电吗? 支付宝花呗额度3500,为什么用的时候不叫超过500 下载恢复精灵APP有什么风险? 为什么花呗有4000多的额度,一次只能支付100以下? 开电脑出现系统文件丢失,无法安装系统怎么办? js点击打开一张页到本页面再次点击关闭怎么做? 玩LOL有哪些好用的鼠标? 你们觉得哪个牌子的鼠标玩lol最爽啊? 想要一款鼠标玩LOL,本人手比较小,求推荐一款鼠标! 刚打了耳洞,过5天了,如果脱掉耳环,几天后,肉合起来了,它合得成原来的样子吗?还是说有一块肉硬硬的? 俄服开什么加速器好 steam俄区小号接收国区大号送的数字礼物卡时要开的加速器有推荐吗 求助一款服务器监控软件 历史上真实的宜妃,康熙刚驾崩,雍正如何对待这位“小妈”? 康熙最宠爱的妃子宜妃,为何会在康熙死后遭到雍正的疯狂打压? 拥有65位后妃的康熙皇帝,到底最爱哪一个? - 信息提示 宜妃曾经让康熙爱不释手,为何没立她为皇后呢?