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

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

<!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回答

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

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

祝:学习愉快~

  • qq_空_239 提问者 #1
    比我代码简洁多了,感谢老师!!!
    2019-03-15 19:18:08
好帮手慕阿满 2019-03-15 16:45:44

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

http://img1.sycdn.imooc.com//climg/5c8b662d0001b7a007370420.jpg

祝:学习愉快~

  • 提问者 qq_空_239 #1
    变成绿色时,需要改变字体加粗并斜体,但是这样会覆盖蓝色的字体css属性,因为蓝色字体并不需要字体加粗并斜体,所以我添加一个.myclass。如果通过js里面的代码实现时,我发现实现不了。。。
    2019-03-15 17:33:37
好帮手慕阿满 2019-03-15 13:58:42

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

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

  • 提问者 qq_空_239 #1
    老师请问还有更简单的方法改变css属性吗
    2019-03-15 14:23:50
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师