gpt4 book ai didi

javascript - jQuery - 使用条件语句更改正文的背景颜色

转载 作者:可可西里 更新时间:2023-11-01 13:06:03 25 4
gpt4 key购买 nike

我有一些 div,默认情况下只有一个是可见的,所有其他的都是隐藏的。每个 div 都有不同的背景颜色。基于一些按钮,当被点击时,显示不同的div。

我需要检查显示的是哪个 div,并基于此我想更改正文背景而不是按钮单击事件。

我有一些其他按钮 next/prev 移动到 div 中,如果我在使用这些按钮时单击按钮更改颜色,则所有 div 的颜色保持不变!为此,我想制作一个独立的函数来检查 div 何时更改?

我有一个 jQuery 代码,当我显示的 div 条件为真时 $('#divID').css('display') == 'block' 为 true 背景颜色应该更改,但它不起作用!

jsfiddle:DEMO我的 HTML 代码:

<body>
<br/><br/><br/>
<div id="ad1" style="display:block;" > Div content 1</div><br/>
<div id="ad2" style="display:none;" > Div content 2</div><br/>
<div id="ad3" style="display:none;" > Div content 3</div><br/>
<div id="ad4" style="display:none;" > Div content 4</div><br/>
<br/><br/><br/>
<button id='button1'> click 1</button>
<button id='button2'> click 2</button>
<button id='button3'> click 3</button>
<button id='button4'> click 4</button>
</body>

和 jquery 代码:

$(document).ready(function () {  
if($('#ad1').css('display') == 'block'){
$("body").css('background-color', '#ebb614');
}
if($('#ad2').css('display') == 'block'){
$("body").css('background-color', '#acb7a8');
}
if($('#ad3').css('display') == 'block'){
$("body").css('background-color', '#4f795b');
}
if($('#ad4').css('display') == 'block'){
$("body").css('background-color', '#7f7a6e');
}

$('#button1').on('click', function () {
$('#ad1').show();
$('#ad2 ,#ad3 , #ad4').hide();
});
$('#button2').on('click', function () {
$('#ad2').show();
$('#ad1 ,#ad3 , #ad4').hide();
});
$('#button3').on('click', function () {
$('#ad3').show();
$('#ad2 ,#ad1 , #ad4').hide();
});
$('#button4').on('click', function () {
$('#ad4').show();
$('#ad2 ,#ad3 , #ad1').hide();
});
});

最佳答案

请尝试使用以下代码片段或 demo .

方法一:

<body> 
<br />
<br />
<div id="ad1" style="display: block;">Div content 1</div>
<br />
<div id="ad2" style="display: none;">Div content 2</div>
<br />
<div id="ad3" style="display: none;">Div content 3</div>
<br />
<div id="ad4" style="display: none;">Div content 4</div>
<br />
<br />
<br />
<br />
<button id='button1'>click 1</button>
<button id='button2'>click 2</button>
<button id='button3'>click 3</button>
<button id='button4'>click 4</button>

<script>

$(document).ready(function () {


$('#button1').on('click', function () {
$('#ad1').show();
$('#ad2 ,#ad3 , #ad4').hide();
test(1);
});
$('#button2').on('click', function () {
$('#ad2').show();
$('#ad1 ,#ad3 , #ad4').hide();
test(2);
});
$('#button3').on('click', function () {
$('#ad3').show();
$('#ad2 ,#ad1 , #ad4').hide();
test(3);
});
$('#button4').on('click', function () {
$('#ad4').show();
$('#ad2 ,#ad3 , #ad1').hide();
test(4);
});
});

function test(id) {

if (id == 1) {
$("body").css('background-color', '#ebb614');
}
if (id == 2) {
$("body").css('background-color', '#acb7a8');
}
if (id == 3) {
$("body").css('background-color', '#4f795b');
}
if (id == 4) {
$("body").css('background-color', '#7f7a6e');
}
}

</script>
<style>
body {
height: 5000px;
background-color: #4e795b;
margin: 0px;
padding: 0px;
}
</style>
</body>

方法二:

<body>
<div id="ad1" style="display: block;">Div content 1</div>
<br />
<div id="ad2" style="display: none;">Div content 2</div>
<br />
<div id="ad3" style="display: none;">Div content 3</div>
<br />
<div id="ad4" style="display: none;">Div content 4</div>
<br />
<br />
<br />
<br />
<button id='button1'>click 1</button>
<button id='button2'>click 2</button>
<button id='button3'>click 3</button>
<button id='button4'>click 4</button>

<script>

$(document).ready(function () {


$('#button1').on('click', function () {
$('#ad1').show();
$('#ad2 ,#ad3 , #ad4').hide();
test();
});
$('#button2').on('click', function () {
$('#ad2').show();
$('#ad1 ,#ad3 , #ad4').hide();
test();
});
$('#button3').on('click', function () {
$('#ad3').show();
$('#ad2 ,#ad1 , #ad4').hide();
test();
});
$('#button4').on('click', function () {
$('#ad4').show();
$('#ad2 ,#ad3 , #ad1').hide();
test();
});
});

function test(id) {
if ($('#ad1').css('display') == 'block') {
$("body").css('background-color', '#ebb614');
}
if ($('#ad2').css('display') == 'block') {
$("body").css('background-color', '#acb7a8');
}
if ($('#ad3').css('display') == 'block') {
$("body").css('background-color', '#4f795b');
}
if ($('#ad4').css('display') == 'block') {
$("body").css('background-color', '#7f7a6e');
}
}

</script>
<style>
body {
height: 5000px;
background-color: #4e795b;
margin: 0px;
padding: 0px;
}
</style>
</body>

您给定的代码中存在以下问题:1. 您已经在 document.ready() 中实现了背景颜色更改逻辑,但是您必须在每次单击事件时调用此逻辑来更改背景颜色。2. 你在你的 DIV 中添加了两次 ID 标签。

关于javascript - jQuery - 使用条件语句更改正文的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33038738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com