老师帮忙看还有需要改的吗?

来源:1-19 自由编程

qq_空_239

2019-03-14 22:31:04

<!DOCTYPE html >
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery练习</title>
<style type="text/css">
.div1{
float: left;
width: 50px;
line-height: 30px;
background-color: lightgray;
margin-left: 10px;
text-align: center;
vertical-align: middle;
}
.div2{
width: 300px;
height: 300px;
border: solid gray 1px;
margin-top: 60px;
color: red;
}
 .myclass{
 background-color:green;
 font-weight:bold;
 font-style:italic;
 }
</style>
</head>
<body>
<h2>请选择背景颜色</h2>
<div>
<div id="blue" class="div1">蓝色</div>
<div id="green" class="div1">绿色</div>
</div>
<div class="div2" id="bg">
</div>
<div>输入颜色首字母: <input type="text" name="color"></div>
<script type="text/javascript" src="../js/jquery-3.3.1.js"></script>
<script type="text/javascript">
/* alert("欢迎来到设置颜色的页面"); */
$("#blue").click(function(){
$("#bg").removeClass("myclass");
$("#bg").css("background-color","blue");
$("#bg").text("蓝色背景");
});
$("#green").click(function(){
$("#bg").css("background-color","green");
$("#bg").addClass("myclass");
$("#bg").text("绿色背景");
});
$("input").keypress(function(event){
/* console.log(event); */
if(event.keyCode==66){
$("#bg").css("background-color","blue");
$("#bg").text("");
}
if(event.keyCode==71){
$("#bg").addClass("myclass");
$("#bg").text("");
}
});
</script>
</body>
</html>

因为点击绿色会覆盖蓝色的字体,添加字体加粗和斜体,所以我把它写成一个css属性

写回答

3回答

好帮手慕阿满

2019-03-15

抱歉,没看清绿色字体要求。这里可以在$("#green")后直接设置,如:

$("#green").click(function() {
			$("#bg").css("background-color", "green");
			$("#bg").html("<i><b>绿色背景</b></i>");
		});

祝:学习愉快~

0
hq_空_239
h 比我代码简洁多了,感谢老师!!!
h019-03-15
共1条回复

好帮手慕阿满

2019-03-15

同学这样完成已经很好,但是还可以小小的修改一下,使代码更简洁。这里不需要设置.myclass,在js代码中在设置颜色的同时设置文本或清空文本,如:

http://img.mukewang.com/climg/5c8b662d0001b7a007370420.jpg

祝:学习愉快~

0
hq_空_239
h 变成绿色时,需要改变字体加粗并斜体,但是这样会覆盖蓝色的字体css属性,因为蓝色字体并不需要字体加粗并斜体,所以我添加一个.myclass。如果通过js里面的代码实现时,我发现实现不了。。。
h019-03-15
共1条回复

好帮手慕阿满

2019-03-15

同学的代码整体完成的不错,但是当输入G后,再输入B,颜色不能再改变。这里在event.keyCode==71后,应该使用$("#bg").css("background-color", "green");这种样式,当输入B,可以变为蓝色,当输入G可以变为绿色。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0
hq_空_239
h 老师请问还有更简单的方法改变css属性吗
h019-03-15
共1条回复

0 学习 · 10204 问题

查看课程