18.05.2021, 23:11
|
Интересующийся
|
|
Регистрация: 22.04.2021
Сообщений: 20
|
|
Добавить случайное свойство объекту
Есть 9 картинок на странице, им нужно применить css свойство clip-path случайным образом. Правильно ли я мыслю, что исправить?
let cropImage = [
'polygon(0 0, 100% 0%, 97% 100%, 0% 100%)',
'polygon(0 0, 100% 0%, 100% 100%, 0 94%)',
'polygon(0 0, 100% 0%, 100% 94%, 0 100%)',
'polygon(0 0, 94% 0, 100% 100%, 0 100%)',
'polygon(0 0, 100% 3%, 100% 100%, 0 100%)',
'polygon(1% 6%, 100% 0, 100% 100%, 0 100%)',
'polygon(5% 0, 100% 0, 100% 100%, 0 100%)',
'polygon(0 0, 100% 0, 100% 100%, 4% 100%)',
'polygon(0 0, 94% 0, 100% 100%, 0 100%)',
];
let images = document.querySelectorAll('img');
document.addEventListener("DOMContentLoaded", function () {
if (images.length > 0) {
for (let index = 0; index < images.length; index++) {
images[index].style.clipPath = Math.floor(Math.random() * cropImage.length);
}
}
});
UPD: Решила сама))
images[index].style.clipPath = cropImage[Math.floor(Math.random() * cropImage.length)];
Последний раз редактировалось Angelinasen, 18.05.2021 в 23:16.
|
|
19.05.2021, 00:21
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
Сообщение от Angelinasen
|
Правильно ли я мыслю, что исправить?
|
строку 13 перенести в строку 16, иначе строка 15 бесполезна и на всякий случай откройте для себя forEach
|
|
19.05.2021, 00:45
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,112
|
|
Angelinasen,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.mySlider__wrapper {
display: flex;
flex-wrap: wrap;
}
</style>
<script>
let cropImage = [
'polygon(0 0, 100% 0%, 97% 100%, 0% 100%)',
'polygon(0 0, 100% 0%, 100% 100%, 0 94%)',
'polygon(0 0, 100% 0%, 100% 94%, 0 100%)',
'polygon(0 0, 94% 0, 100% 100%, 0 100%)',
'polygon(0 0, 100% 3%, 100% 100%, 0 100%)',
'polygon(1% 6%, 100% 0, 100% 100%, 0 100%)',
'polygon(5% 0, 100% 0, 100% 100%, 0 100%)',
'polygon(0 0, 100% 0, 100% 100%, 4% 100%)',
'polygon(0 0, 94% 0, 100% 100%, 0 100%)',
];
document.addEventListener("DOMContentLoaded", function() {
let images = document.querySelectorAll('img');
images.forEach(({ style }) => style.clipPath = cropImage[Math.random() * cropImage.length | 0])
});
</script>
</head>
<body>
<div class="mySlider__wrapper">
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?1"></div>
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?2"></div>
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?3"></div>
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?4"></div>
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?5"></div>
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?6"></div>
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?7"></div>
<div class="mySlider__slide"><img src="https://picsum.photos/200/145?8"></div>
</div>
</body>
</html>
|
|
19.05.2021, 23:17
|
Интересующийся
|
|
Регистрация: 22.04.2021
Сообщений: 20
|
|
случайные свойства объекту
Спасибо! ForEach надо бы подучить
|
|
|
|