Javascript 一个按钮激活,共5个按钮,按数据显示

Javascript 一个按钮激活,共5个按钮,按数据显示,javascript,Javascript,var header=document.getElementById(“myDIV”); var btns=header.getElementsByClassName(“btn”); 对于(变量i=0;i

var header=document.getElementById(“myDIV”);
var btns=header.getElementsByClassName(“btn”);
对于(变量i=0;i

/*设计按钮的样式*/
.btn{
边界:无;
大纲:无;
填充:10px 16px;
背景色:#f1f1;
光标:指针;
字号:18px;
}
/*设置活动类的样式,并将鼠标悬停在*/
.btn[data active=“active”],.btn:悬停{
背景色:#666;
颜色:白色;
}
活动按钮
突出显示激活/当前(按下)按钮

1. 2. 3. 4. 5.
在您的
功能中,单击
后,您需要将每个按钮设置为
非活动
。这可以通过创建第二个循环来实现,如下所示:

var header=document.getElementById(“myDIV”);
var btns=header.getElementsByClassName(“btn”);
对于(变量i=0;i
/*设置按钮的样式*/
.btn{
边界:无;
大纲:无;
填充:10px 16px;
背景色:#f1f1;
光标:指针;
字号:18px;
}
/*设置活动类的样式,并将鼠标悬停在*/
.btn[data active=“active”],
.btn:悬停{
背景色:#666;
颜色:白色;
}
活动按钮
突出显示激活/当前(按下)按钮

1. 2. 3. 4. 5.
在您的
功能中,单击
后,您需要将每个按钮设置为
非活动
。这可以通过创建第二个循环来实现,如下所示:

var header=document.getElementById(“myDIV”);
var btns=header.getElementsByClassName(“btn”);
对于(变量i=0;i
/*设置按钮的样式*/
.btn{
边界:无;
大纲:无;
填充:10px 16px;
背景色:#f1f1;
光标:指针;
字号:18px;
}
/*设置活动类的样式,并将鼠标悬停在*/
.btn[data active=“active”],
.btn:悬停{
背景色:#666;
颜色:白色;
}
活动按钮
突出显示激活/当前(按下)按钮

1. 2. 3. 4. 5.
  • 在父元素上创建了单击事件处理程序
  • 单击某个元素时,请检查该元素是否为按钮
  • 如果是,则查找处于活动状态的按钮,如果有,则删除活动属性
  • 然后,对于单击的对象,切换“活动数据”属性
const header=document.querySelector(“myDIV”);
header.addEventListener('click',event=>{
如果(event.target.tagName==='按钮'){
让activeButton=header.querySelector('.btn[data active=“active”]');
const currentState=event.target.dataset.active;
if(activeButton&&activeButton!==event.target){
activeButton.dataset.active=null;
}
event.target.dataset.active=currentState=='active'?null:'active';
}
});

/*设计按钮的样式*/
.btn{
边界:无;
大纲:无;
填充:10px 16px;
背景色:#f1f1;
光标:指针;
字号:18px;
}
/*设置活动类的样式,并将鼠标悬停在*/
.btn[data active=“active”],.btn:悬停{
背景色:#666;
颜色:白色;
}
活动按钮
突出显示激活/当前(按下)按钮

1. 2. 3. 4. 5.
  • 在父元素上创建了单击事件处理程序
  • 单击某个元素时,请检查该元素是否为按钮
  • 如果是,则查找处于活动状态的按钮,如果有,则删除活动属性
  • 然后,对于单击的对象,切换“活动数据”属性
const header=document.querySelector(“myDIV”);
header.addEventListener('click',event=>{
如果(event.target.tagName==='按钮'){
让activeButton=header.querySelector('.btn[data active=“active”]');
const currentState=event.target.dataset.active;
if(activeButton&&activeButton!==event.target){
activeButton.dataset.active=null;
}
event.target.dataset.active=currentState=='active'?null:'active';
}
});

/*设计按钮的样式*/
.btn{
边界:无;
大纲:无;
填充:10px 16px;
背景色:#f1f1;
光标:指针;
字号:18px;
}
/*设置活动类的样式,并将鼠标悬停在*/
.btn[data active=“active”],.btn:悬停{
背景色:#666;
颜色:白色;
}
活动按钮
突出显示激活/当前(按下)按钮

1. 2. 3. 4. 5.
考虑到只有一个应该有active属性,循环有点过头了。让我更新一下。一秒钟@JoeDoe@JoeDoe好了。无需循环因为只有一个应该有active属性,所以循环有点过头了。让我更新一下。一秒钟@JoeDoe@JoeDoe好了。不需要循环