• В коде не удаётся заставить отработать третий условный оператор else if в методе start. Как переиначить условие, что бы заработало?

    @samazon Автор вопроса
    Братцы прошу прощения за беспокойство вот в таком варианте всё заработало:
    Car ={
    	make:'Lada',
    	model:'Kalina',
    	color:'blue',
    	fuel:0,
    	started:false,
    	start:function(){
    		if(Car.started===false && Car.fuel===0){
    		div_msg.innerHTML="";
    	 	div_msg.innerHTML="Бак пуст.Заправьте автомобиль";
    		}
    		if(Car.started===false && Car.fuel>0){
    			Car.started=true;
    			console.log('Car.started '+ Car.started);
    	 		div_msg.innerHTML="";
    	 		div_msg.innerHTML="Двигатель заведён.";
    			Car.rate1000();
                
    		}
    	},
    	addFuel:function(){
    		if(Car.fuel<=0){
    			Car.fuel=Car.fuel+10;
    			n1.textContent=`${Math.floor(Car.fuel/1000)}`;
    			dot.textContent=".";
    			n2.textContent=`${Math.floor(Car.fuel%1000)}`;
    			div_msg.innerHTML="";
    			div_msg.innerHTML="Автомобиль заправлен на 0.1л.";
    			console.log('Car.fuel=' + Car.fuel);
    		}
    	},
    	rate1000: function(){
    		rate=setInterval(()=>{
    			Car.fuel--
    			n1.textContent=`${Math.floor(Car.fuel/1000)}`;
    			dot.textContent=".";
    			n2.textContent=`${Math.floor(Car.fuel%1000)}`;
                if(Car.fuel===0){
                    div_msg.innerHTML="";
                    div_msg.innerHTML="Двигатель заглох";
                    Car.started=false;
                    clearInterval(rate);
                    console.log('Car.started '+ Car.started);
                }
    		}, 1000);
    	},
    };


    я просто третий оператор с условием поместил в setInterval(), который является циклом и осуществляет проверку третьего условия, пока оно не отработает. То есть пока не закончится топливо в баке.
    Ответ написан
    Комментировать