这个颜色怎么不变化

这个颜色怎么不变化

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<link rel="stylesheet" type="text/css" href="新.css">
	 
	<script type="text/javascript" src="jquery-3.2.1.min.js"></script>
	<!-- <script type="text/javascript" src="../bootstrap/bootstrap.min.js"></script> -->


	<script type="text/javascript" src="新.js"></script>
</head>
<body>

	<div class="re"></div>
</body>
</html>
setInterval(timer,1000);
var re=$('.re');
var index=0;
function timer(){
	index++;
	if(index>=3){
		index=0;
	}



	if(index==0){
		re.css('background-color','#E8E8E8');
	}
	if(index==1){
		re.css('background-color','#FF0036');
	}
	else{
		re.css('background-color','#7A45E5');
		}
	console.log(index);
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕糖 2018-01-05 17:03:40

你好,index=0的时候,先执行if (index == 0)之后,会接着执行下面的if语句,即 if (index == 1),index不满足这个条件,所以会执行这个语句的else语句,所以建议:这里可以改为else if;如下:

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

祝学习愉快~

Miss路 2018-01-05 15:19:58

那你的代码没有问题,要把js文件放到body的最下面。不要放到style中,放到上面有可能会引起报错,因为dom还没有加载完,js就执行的话,会报错,找不到dom元素。

参考下面的写法:(换成你自己的jQuery地址)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
    * {
        margin: 0px;
        padding: 0px;
    }
    .re {
        width: 500px;
        height: 500px;
        background-color: red;
    }
    </style>
</head>
<body>
    <div class="re"></div>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript">
        setInterval(timer, 1000);
        var re = $('.re');
        var index = 0;

        function timer() {
            index++;
            if (index >= 3) {
                index = 0;
            }
            if (index == 0) {
                re.css('background-color', '#E8E8E8');
            }
            if (index == 1) {
                re.css('background-color', '#FF0036');
            } else {
                re.css('background-color', '#7A45E5');
            }
            console.log(index);
        }
    </script>
</body>
</html>

祝学习愉快!

  • 提问者 慕头不大 #1
    谢谢老师耐心指导,还有一个细节问题,就是这个index跳转到0的时候,颜色还是2时候的那个为什么
    2018-01-05 15:31:34
Miss路 2018-01-05 11:35:55

因为你没有粘贴你的css代码,所以从现有的代码中找出的问题是:你需要给div设置一个宽高就好了。要不然它不会有显示的。加上宽高就好了。

祝学习愉快!

  • 提问者 慕头不大 #1
    *{ margin:0px; padding: 0px; } .re{ width: 500px; height: 500px; background-color: red; } 这是我的css代码 老师帮我看看 还是不行呢
    2018-01-05 15:11:29
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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