4 개의 div 각각을 반복하고 색상을 녹색으로 변경하여 원본으로 되돌리고 다음으로 이동하기 전에 효과를 만들려고합니다. 지금은 색상을 영구히 변경하는 것입니다. 이 문제를 해결하는 방법을 잘 모르겠습니다. 그래서 이전의 각 요소를 올바르게 삭제하기 위해 '삭제'하기 때문에 색상이 다음으로 이동하기 전에 다시 변경됩니다. 나는 아마도 일곱 가지 일을 잘못하고 있으며, 조언을 주시면 감사하겠습니다.일시적으로 div 배경색을 변경하려면 setTimeout을 사용하십시오
는 다음 작업 JSBin입니다 : https://jsbin.com/puricazuxa/4/edit?html,css,js,output
자바 스크립트 :
arrayCount=[1,2,3,4];
var secondPrint = function(){
setTimeout(function(){
if (arrayCount.length>0){
$("#button"+arrayCount[0]).attr("class", "sButton2");
arrayCount.shift(1);
secondPrint();
}
} ,1000);
};
secondPrint();
CSS :
body {
background-color: rgb(200,200,200);
font-family: "Arial";
}
.sButton{
height: 50px;
width: 50px;
margin: 5px;
padding: 10px;
border: 2px solid black;
display:inline;
background-color: rgb(50,100,100);
}
.sButton2{
height: 50px;
width: 50px;
margin: 5px;
padding: 10px;
border: 2px solid black;
display:inline;
background-color: rgb(100,200,100);
}
HTML :
<head>
<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
</head>
<body>
<!-- Main page placeholders -->
<br/>
<br/>
<div class = "sButton" id="button1">1</div>
<div class = "sButton" id="button2">2</div>
<div class = "sButton" id="button3">3</div>
<div class = "sButton" id="button4">4</div>
팁 : 1)() var''않고 암시 적 전역을 사용하지 마십시오. 2) 요소는 둘 이상의 클래스를 가질 수 있으므로'attr ('class') 대신 jQuery에서'addClass'와'removeClass'를 사용해야합니다. 당신은 또한 이것을 이용하여 반복을 줄이기 위해 CSS를 변경해야합니다. – gcampbell
팁 주셔서 감사합니다! 나는 addClass와 removeClass를 잊었다. 감사합니다. – garson