单击时的HTML按钮属性已更改
我有4个简单的按钮。我如何设置它们,以便在单击其中一个时,它的某些属性会发生更改并保持更改?当另一个按钮被点击时,它也会改变,但它会将第一个按钮的属性恢复为“正常”?基本上,它们是导航按钮,我想让它们显示你在页面的哪个部分。提前谢谢。我制作了一个示例,仅用于单击和更改背景颜色: CSS单击时的HTML按钮属性已更改,html,css,button,properties,click,Html,Css,Button,Properties,Click,我有4个简单的按钮。我如何设置它们,以便在单击其中一个时,它的某些属性会发生更改并保持更改?当另一个按钮被点击时,它也会改变,但它会将第一个按钮的属性恢复为“正常”?基本上,它们是导航按钮,我想让它们显示你在页面的哪个部分。提前谢谢。我制作了一个示例,仅用于单击和更改背景颜色: CSS .beforeClick { background-color:#EEE; } JavaScript $(document).ready(function (){ $('.beforeClick'
.beforeClick {
background-color:#EEE;
}
JavaScript
$(document).ready(function (){
$('.beforeClick').click(function (){
$('.beforeClick').css('background-color',"#EEE");
$(this).css('background-color',"#555");
});
});
HTML
<button class="beforeClick">btn1</button>
<button class="beforeClick">btn2</button>
<button class="beforeClick">btn3</button>
<button class="beforeClick">btn4</button>
<button class="beforeClick">btn5</button>
btn1
btn2
btn3
btn4
btn5
(您需要jQuery)
这是一个我制作了一个仅用于单击和更改背景色的示例: CSS
.beforeClick {
background-color:#EEE;
}
JavaScript
$(document).ready(function (){
$('.beforeClick').click(function (){
$('.beforeClick').css('background-color',"#EEE");
$(this).css('background-color',"#555");
});
});
HTML
<button class="beforeClick">btn1</button>
<button class="beforeClick">btn2</button>
<button class="beforeClick">btn3</button>
<button class="beforeClick">btn4</button>
<button class="beforeClick">btn5</button>
btn1
btn2
btn3
btn4
btn5
(您需要jQuery)
下面是一个我要做的是编写一个javascript函数,类似于:
<script type='text/javascript'>
function toggle(btn)
{
var btnArray = document.getElementsByClassName('button');
for(i = 0; i < btnArray.length; i++)
{
if(btn == btnArray[i])
{
//the button is the button which is clicked
if(!btn.classList.contains("clicked"))
{
btn.className += " clicked";
}
}
else
{
//remove class clicked, just reset the classname
btnArray[i].className = "button";
}
}
}
</script>
<button class="button" onclick="toggle(this);">btn1</button>
<button class="button" onclick="toggle(this);">btn2</button>
<button class="button" onclick="toggle(this);">btn3</button>
<div class="button">PRESS</div>
....
<div class="button">PRESS</div>
(我用Chromium测试了这段代码,它可以正常工作)。我要做的是编写一个javascript函数,比如:
<script type='text/javascript'>
function toggle(btn)
{
var btnArray = document.getElementsByClassName('button');
for(i = 0; i < btnArray.length; i++)
{
if(btn == btnArray[i])
{
//the button is the button which is clicked
if(!btn.classList.contains("clicked"))
{
btn.className += " clicked";
}
}
else
{
//remove class clicked, just reset the classname
btnArray[i].className = "button";
}
}
}
</script>
<button class="button" onclick="toggle(this);">btn1</button>
<button class="button" onclick="toggle(this);">btn2</button>
<button class="button" onclick="toggle(this);">btn3</button>
<div class="button">PRESS</div>
....
<div class="button">PRESS</div>
(我用Chromium测试了这段代码,它可以工作)。利用类切换按钮的状态。比如:
<script type='text/javascript'>
function toggle(btn)
{
var btnArray = document.getElementsByClassName('button');
for(i = 0; i < btnArray.length; i++)
{
if(btn == btnArray[i])
{
//the button is the button which is clicked
if(!btn.classList.contains("clicked"))
{
btn.className += " clicked";
}
}
else
{
//remove class clicked, just reset the classname
btnArray[i].className = "button";
}
}
}
</script>
<button class="button" onclick="toggle(this);">btn1</button>
<button class="button" onclick="toggle(this);">btn2</button>
<button class="button" onclick="toggle(this);">btn3</button>
<div class="button">PRESS</div>
....
<div class="button">PRESS</div>
请参见使用类切换按钮的状态。比如:
<script type='text/javascript'>
function toggle(btn)
{
var btnArray = document.getElementsByClassName('button');
for(i = 0; i < btnArray.length; i++)
{
if(btn == btnArray[i])
{
//the button is the button which is clicked
if(!btn.classList.contains("clicked"))
{
btn.className += " clicked";
}
}
else
{
//remove class clicked, just reset the classname
btnArray[i].className = "button";
}
}
}
</script>
<button class="button" onclick="toggle(this);">btn1</button>
<button class="button" onclick="toggle(this);">btn2</button>
<button class="button" onclick="toggle(this);">btn3</button>
<div class="button">PRESS</div>
....
<div class="button">PRESS</div>
请参见@MahdiParsa是的,我可以使用jquery,但不知道如何在其中执行此操作。我没怎么试过,因为我不知道怎么做。我希望我们讨论的是被设计成按钮样式的文本元素,而不是实际的表单元素按钮。@cimmanon不,不幸的是,这些是真正的按钮,但不是形式按钮,而是正常按钮buttons@MahdiParsa是的,我可以使用jquery,但不知道如何使用它。我没怎么试过,因为我不知道怎么做。我希望我们讨论的是被设计成按钮样式的文本元素,而不是实际的表单元素按钮。@cimmanon不,不幸的是,这些是真实的按钮,但不是表单按钮,而是普通按钮。你让它听起来像香草JS不可能做到这一点。什么是“关闭”所有其他按钮的最佳方式?因此,唯一具有不同背景的按钮是你点击的按钮?如果您单击另一个按钮,第一个按钮将变回正常状态?是的,我只更改背景您可以使用jquery的所有api,这是可能的。您让它听起来像香草JS不可能做到这一点。什么是“关闭”所有其他按钮的最佳方式,因此唯一具有不同背景的按钮是您单击的按钮?如果您单击另一个,第一个将变回正常?是的,我只更改背景您可以使用jquery的所有api,这是可能的。