Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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/2/jquery/75.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_Jquery_Css - Fatal编程技术网

Javascript 如何为当前选项卡设置不同的背景?

Javascript 如何为当前选项卡设置不同的背景?,javascript,jquery,css,Javascript,Jquery,Css,我写了一个代码为三个标签t点击每个人,它的内容将出现。 但我有一个问题,那就是我想把不同的背景,目前选项卡是选定的,但我没有任何想法,我不知道它的代码。 查看此演示,了解我创建的内容: 我怎么能有这样的东西: ,,当我单击to tab时,所选选项卡将具有不同的背景(红色)。 谢谢 这里是我的代码: $(document).ready(function () { $(".tab ul li:nth-child(1)").click(function () { $("

我写了一个代码为三个标签t点击每个人,它的内容将出现。
但我有一个问题,那就是我想把不同的背景,目前选项卡是选定的,但我没有任何想法,我不知道它的代码。
查看此演示,了解我创建的内容:
我怎么能有这样的东西:
,,当我单击to tab时,所选选项卡将具有不同的背景(红色)。 谢谢
这里是我的代码:

$(document).ready(function () {
    $(".tab ul li:nth-child(1)").click(function () {
        $(".box1").fadeIn();
        $(".box2").hide();
        $(".box3").hide();
    });
});
$(document).ready(function () {
    $(".tab ul li:nth-child(2)").click(function () {
        $(".box2").fadeIn();
        $(".box1").hide();
        $(".box3").hide();
    });
});
$(document).ready(function () {
    $(".tab ul li:nth-child(3)").click(function () {
        $(".box3").fadeIn();
        $(".box1").hide();
        $(".box2").hide();
    });
});

Css:


HTML:


  • 测试表1
  • 测试表2
  • 测试表3

然后添加这个css

.tab ul li:nth-child(1) {
    background: blue;
}

看来您是在以程序思维进行编码:涵盖所有基础、可能的结果和潜力(这是一种非常线性的模式)。当然,它仍然有效,但因此您的代码变得非常冗长,因此更难阅读和维护

HTML(5) CSS

thnks:),如果我想成为默认的蓝色,我的意思是你给我的这段代码,我必须单击一个选项卡成为蓝色,我想成为默认的蓝色。顺便说一下,你只需要
$(document).ready(function(){…}
一次。事实上,如果你把这个脚本放在
标记之前,你就不需要
.ready()
完全可以。这是一个很好的建议,请您更新您的代码。如果有三个不同的框,内容不同。我将保留与问题相关的答案。不过,我已经为您提供了一个基本逻辑。
<div class="tab">
<ul>
    <li>Test Tab 1</li>
    <li>Test Tab 2</li>
    <li>Test Tab 3</li>
</ul>
</div>
<div class="box1"></div>
<div class="box2" style="display:none"></div>
<div class="box3" style="display:none"></div>
   $(document).ready(function(){
        $(".tab ul li:nth-child(1)").click(function(){
          $(".box1").fadeIn();
          $(".box2").hide();
          $(".box3").hide();
          $(".tab ul li").css("background", "red")
          $(this).css("background", "blue")
        });
        $(".tab ul li:nth-child(2)").click(function(){
          $(".box2").fadeIn();
          $(".box1").hide();
          $(".box3").hide();
          $(".tab ul li").css("background", "red")
          $(this).css("background", "blue")
        });
        $(".tab ul li:nth-child(3)").click(function(){
          $(".box3").fadeIn();
          $(".box1").hide();
          $(".box2").hide();
          $(".tab ul li").css("background", "red")
          $(this).css("background", "blue")
        });
    });
.tab ul li:nth-child(1) {
    background: blue;
}
<div class="tab">
    <ul>
        <li data-color="green">Test Tab 1</li>
        <li data-color="blue">Test Tab 2</li>
        <li data-color="yellow">Test Tab 3</li>
    </ul>
</div>

<div class="box" data-color="green"></div>
$(document).ready(function(){
    $(".tab ul li").click(function(){       
        $(".tab ul li").removeClass("active")
        $(this).addClass("active");
        $('.box').css("background", $(this).data('color'));
    });
});
.tab ul li.active{
    background: purple; 
}

.box{
    height: 190px;
    width: 244px;
    position: relative;
    top: 34px;
    left: 38px;
    background: green;
}