Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数,用于在单击时从框中添加/删除边框_Javascript_Html - Fatal编程技术网

Javascript函数,用于在单击时从框中添加/删除边框

Javascript函数,用于在单击时从框中添加/删除边框,javascript,html,Javascript,Html,我编写了以下脚本,将边框添加到页面上的框中: <script> function highlight(target) { target.style.border = "1px solid red"; } </script> 功能突出显示(目标){ target.style.border=“1px实心红色”; } 不过,我想: 限制用户只能高亮显示/选择3个框 允许用户通过再次单击这些框来“取消边框”或“取消高亮”这些框 我曾尝试将下面的代码添加到函数中,但没

我编写了以下脚本,将边框添加到页面上的框中:

<script>
 function highlight(target) {
  target.style.border = "1px solid red";
 }
</script>

功能突出显示(目标){
target.style.border=“1px实心红色”;
}
不过,我想:

  • 限制用户只能高亮显示/选择3个框
  • 允许用户通过再次单击这些框来“取消边框”或“取消高亮”这些框
  • 我曾尝试将下面的代码添加到函数中,但没有成功

    target.onclick=null

    如何做到这一点

  • 限制用户只能高亮显示/选择3个框
  • 出于第一个目的,您可以使用一个全局变量来保存选中项目的数量。如下图所示:

     var selected_items = 0;
     function highlight(target) {
      if(selected_items < 3){
        target.style.border = "1px solid red";
        // add 1 each time an item is selected
        selected_items += 1;
      }
      target.style.border = "1px solid red";
     }
    
    var所选项目=0;
    功能突出显示(目标){
    如果(所选项目<3){
    target.style.border=“1px实心红色”;
    //每次选择项目时添加1
    所选项目+=1;
    }
    target.style.border=“1px实心红色”;
    }
    
  • 允许用户通过再次单击这些框来“取消边框”或“取消高亮”这些框。 对于第二个,您可以检查border的当前值是否为空。 因此,您的代码如下所示:
  • var所选项目=0;
    功能突出显示(目标){
    //检查当前边框是否为空(或者如果默认边框为其他边框,则可以将其替换为“”,并输入所需的边框值)
    如果(target.style.border==“”){
    如果(所选项目<4){
    target.style.border=“1px实心红色”;
    所选项目+=1;
    }
    }
    否则{
    target.style.border=“”;
    所选项目-=1;
    }
    }
    
    最后,我建议您添加一个类或删除一个类,使项目具有边框,而不是直接更改项目。这对您将来的其他购买也会更容易

  • 限制用户只能高亮显示/选择3个框
  • 出于第一个目的,您可以使用一个全局变量来保存选中项目的数量。如下图所示:

     var selected_items = 0;
     function highlight(target) {
      if(selected_items < 3){
        target.style.border = "1px solid red";
        // add 1 each time an item is selected
        selected_items += 1;
      }
      target.style.border = "1px solid red";
     }
    
    var所选项目=0;
    功能突出显示(目标){
    如果(所选项目<3){
    target.style.border=“1px实心红色”;
    //每次选择项目时添加1
    所选项目+=1;
    }
    target.style.border=“1px实心红色”;
    }
    
  • 允许用户通过再次单击这些框来“取消边框”或“取消高亮”这些框。 对于第二个,您可以检查border的当前值是否为空。 因此,您的代码如下所示:
  • var所选项目=0;
    功能突出显示(目标){
    //检查当前边框是否为空(或者如果默认边框为其他边框,则可以将其替换为“”,并输入所需的边框值)
    如果(target.style.border==“”){
    如果(所选项目<4){
    target.style.border=“1px实心红色”;
    所选项目+=1;
    }
    }
    否则{
    target.style.border=“”;
    所选项目-=1;
    }
    }
    

    最后,我建议您添加一个类或删除一个类,使项目具有边框,而不是直接更改项目。这对于您将来的其他购买也会更容易。

    您可以通过保留一个包含所选元素数量的变量,并为“所选”状态使用css类,然后根据需要将其添加并从元素中删除来实现:

    var-box=document.querySelectorAll(“.box”);
    var numSelected=0;
    var maxSelected=3;
    
    对于(var i=0;i您可以通过保留一个包含所选元素数量的变量,并为“所选”状态使用css类,然后根据需要将其添加并从元素中删除来实现这一点:

    var-box=document.querySelectorAll(“.box”);
    var numSelected=0;
    var maxSelected=3;
    
    对于(var i=0;我请提供您的html代码。请提供您的html代码。谢谢!请注意,选定的_项必须小于3,而不是4。非常感谢!哦,我没有注意到3。我确实更改了它以适应您的问题。谢谢!请注意,选定的_项必须小于3,而不是4。非常感谢!哦,我没有注意到3。我确实更改了它适合你的问题。