Javascript 如何使按钮同时具有打开和关闭功能?
我想对已应用打开状态的同一个汉堡按钮应用关闭状态。关闭状态已应用于其他位置的另一个按钮。。但我不想改变这一点。我只想复制打开按钮上的关闭状态Javascript 如何使按钮同时具有打开和关闭功能?,javascript,jquery,html,css,hamburger-menu,Javascript,Jquery,Html,Css,Hamburger Menu,我想对已应用打开状态的同一个汉堡按钮应用关闭状态。关闭状态已应用于其他位置的另一个按钮。。但我不想改变这一点。我只想复制打开按钮上的关闭状态 $(函数(){ $('.menu')。单击(函数(){ $('#css menu').css({右:'0'}); }); $('.close menu')。单击(函数(){ $(#css menu').css({右:'-340px'}); }); }); 如果有任何帮助,我将不胜感激 提前感谢…您有点不清楚,但我想您的意思是希望使用JQuery的t
$(函数(){
$('.menu')。单击(函数(){
$('#css menu').css({右:'0'});
});
$('.close menu')。单击(函数(){
$(#css menu').css({右:'-340px'});
});
});
如果有任何帮助,我将不胜感激
提前感谢…您有点不清楚,但我想您的意思是希望使用JQuery的toggleClass,或者,我会使用一个单击记录,检查计数是偶数还是奇数:打开还是关闭
$(function() {
var clickCount = 0;
$('.menu').click(function () {
if(clickCount%2==0){
//do when open
$('#css-menu').css({right:'0'});
}else{
//do when closed
$('#css-menu').css({right:'-340px'});
}
clickCount++;
});
});
希望这能有所帮助。无需注册新变量和计算点击次数。 只需添加/删除不存在的类“clicked”,并在单击时进行测试 如果元素“被”单击
$(函数(){
$('.menu')。单击(函数(){
如果($(this).is('.clicked')){
$(this.css({left:0})
.removeClass('clicked');
}否则{
$(this.css({left:20})
.addClass(“单击”);
}
});
});代码>
AA
下面是toggleClass的一个示例。单击特定的
将仅切换该
的状态
使用this.toggleClass()
引用正在单击的元素
$(函数(){
$('.menu')。单击(函数(){
$(this.toggleClass('open');
});
});代码>
liul{
显示:无;
}
李开复{
显示:块;
}
李:悬停{
光标:指针;
颜色:红色;
}
菜单1
- 分项1.1
- 分项目1.2
- 分项目1.3
菜单2
- 分项2.1
- 分项2.2
- 分项2.3
创建两个类,其中一个是显示状态,另一个是隐藏状态
为类定义CSS
#css-menu.hidden{
右:-340px;
}
#css-menu.show{
右:0;
}
假设类别显示=显示。
类隐藏=隐藏
将显示的(默认)类添加到元素中
类='隐藏'
Then your script
$('.menu').click(function(){
$('#css-menu').toggleClass('shown hidden');
});
查看toggleClass
-尝试this.toggleClass()
引用正在单击的元素。通过这样设置left
,您将触发在浏览器的关键渲染路径中重建布局,这是一个潜在的性能问题。小心这个!与上述注释相同^^^^属性left
和right
触发在浏览器的关键渲染路径中重建布局。这就完成了任务。。但是我必须添加$('.close menu').click(function(){$('#css menu').css({right:'-340px'});});保持前者的响应性