Перебор элементов на карте.
Добрый вечер помогите пожалуста решить одну задачку.
Есть карта на ней 27 меток, надо сделать что бы они появлялись по очереди и изчезали безконечно, но, если б по две то без проблем а надо что бы было видно по 4, то есть 5 появляется 1 изчезает, 6 появляется 2 изчезает... и так по кругу. У меня вышло что то типо этого: но в конце они полностью изчезают и просто начинают появлятся сначала но надо что бы 3 элемента постоянно оставались. <div class="map-point first addclass"></div> <div class="map-point first addclass"></div> <div class="map-point first addclass"></div> <div class="map-point first addclass"></div> <div class="map-point"></div> <div class="map-point"></div> <div class="map-point"></div> <div class="map-point"></div> <div class="map-point"></div> <div class="map-point"></div>
function sec() {
var len = $(".first").length;
$(".first:first").css({'opacity':'0','transform':'rotateX(0deg)'}).removeClass("first");
$(".first:last").next(".map-point").css({'opacity':'1','transform':'rotateX(0deg)'}).addClass("first");
if(len<2){
$(".addclass").addClass("first");
}
}
setInterval(sec, 500);
|
James,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body{
display: flex;
}
.map-point {
height: 20px;
width: 20px;
background-color: #EEE8AA;
border-radius: 50%;
transition: 1s;
}
.map-point.red{
background-color: #FF0000;
}
</style>
<script>
addEventListener("DOMContentLoaded", function()
{
let divs = document.querySelectorAll(".map-point"),
len = divs.length,
index = len - 1;
limit = 4;
const loop = () => {
divs[index].classList.remove("red");
index = ++index % len;
for (let i = 0; i < limit; i++) {
let k = (index + i) % len;
divs[k].classList.add("red");
}
window.setTimeout(loop, 600)
};
loop()
}
);
</script>
</head>
<body>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div>
<div class="map-point"></div></body>
</html>
|
спасибо огромное)
|
| Часовой пояс GMT +3, время: 06:56. |