Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 局部变量(在函数中)到全局变量(Jquery)_Javascript_Jquery - Fatal编程技术网

Javascript 局部变量(在函数中)到全局变量(Jquery)

Javascript 局部变量(在函数中)到全局变量(Jquery),javascript,jquery,Javascript,Jquery,我有四个标记,当我点击按钮标记时,我需要它,jQuery添加类活动的 这是我的代码: $(document).ready(function () { var btnActive; $(".cont-btn button:nth-of-type(1)").click(function () { btnActive = 1; }); $(".cont-btn button:nth-of-type(" + btnActive + ")").click(f

我有四个
标记,当我点击按钮标记时,我需要它,jQuery添加类
活动的

这是我的代码:

$(document).ready(function () {
    var btnActive;
    $(".cont-btn button:nth-of-type(1)").click(function () {
        btnActive = 1;
    });
    $(".cont-btn button:nth-of-type(" + btnActive + ")").click(function () {
        for (i = 0; i <= 4; i++) {
            if (i === btnActive) {
                $(".cont-btn button:nth-of-type(" + btnActive + ")").addClass("active");
            } else {
                $(".cont-btn button:nth-of-type(" + i + ")").removeClass("active");
            }
        }
    });
});
$(文档).ready(函数(){
var btnActive;
$(“.cont btn按钮:第n个类型(1)”。单击(函数(){
btnActive=1;
});
$(“.cont btn按钮:第n个类型(“+btnActive+”)。单击(函数(){

对于(i=0;i,您正在使它变得比需要的更复杂

假设
class=“cont btn”


有一种更简单的方法来处理此问题。单击按钮时,请删除感兴趣的按钮,然后将其添加到单击的元素中:

$(".cont-btn").click(function () {
  $(".cont-btn").removeClass("active");
  $(this).addClass("active");
});
$(“.cont btn按钮:第n个类型(“+btnActive+”)
此代码仅执行一次

您的代码可能是这样的

$('.cont-btn button:eq(0)').addClass('active');
$('.cont-btn button').click(function() {
    $('.cont-btn button').removeClass('active');  
    $(this).addClass('active');
}) 

另外,我猜你误解了事件处理程序的工作原理。我建议你多读一些这方面的内容。JS中的执行流程不容易掌握。

我在控制台中发现了这个错误,这是错误的根源,但不是创建第二次单击事件时的实际错误选民无效。这是错误行
$(“.cont btn button:n类型(“+btnActive+”)。单击(函数(){
非常感谢,我是一个延迟:facepalm:
$('.cont-btn button:eq(0)').addClass('active');
$('.cont-btn button').click(function() {
    $('.cont-btn button').removeClass('active');  
    $(this).addClass('active');
})