单击时的HTML按钮属性已更改

单击时的HTML按钮属性已更改,html,css,button,properties,click,Html,Css,Button,Properties,Click,我有4个简单的按钮。我如何设置它们,以便在单击其中一个时,它的某些属性会发生更改并保持更改?当另一个按钮被点击时,它也会改变,但它会将第一个按钮的属性恢复为“正常”?基本上,它们是导航按钮,我想让它们显示你在页面的哪个部分。提前谢谢。我制作了一个示例,仅用于单击和更改背景颜色: CSS .beforeClick { background-color:#EEE; } JavaScript $(document).ready(function (){ $('.beforeClick'

我有4个简单的按钮。我如何设置它们,以便在单击其中一个时,它的某些属性会发生更改并保持更改?当另一个按钮被点击时,它也会改变,但它会将第一个按钮的属性恢复为“正常”?基本上,它们是导航按钮,我想让它们显示你在页面的哪个部分。提前谢谢。

我制作了一个示例,仅用于单击和更改背景颜色:

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)


这是一个

我制作了一个仅用于单击和更改背景色的示例:

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,这是可能的。