Я хочу создать динамический список цветов с использованием jQuery и CSS (и ofc php, но это не связано с моей проблемой).
При нажатии кнопки «Выбрать цвет» возникает проблемаМой список цветов появится, и если пользователь щелкнет по любому из них, другие не получат отображение, и вот проблема, если пользователь попытается изменить выбранный цвет, он не работает!
<div class="onfocus">
<div class="color-select">
<ul class="ul-color">
<li id="slect-color"><a href="#">choose a color</a></li>
<li><a href="#">color1</a></li>
<li><a href="#">color2</a></li>
<li><a href="#">color3</a></li>
<li><a href="#">color4</a></li>
<li><a href="#">color5</a></li>
</ul>
</div>
</div>
$('.ul-color li').on('click',function(){
$(this).css('display','none');
for(var x = 0 ; x < 10; x++){
$('.ul-color li').eq(x).css('left', 90*x+'px');
}
$('.ul-color li').click(function(){
$('.ul-color li').css('display','none');
$(this).css('display','block');
$(this).css('left','20px');
});
});
.onfocus{
position: absolute;
left : 50%;
top :50%;
width: 1700px;
height: 300px;
background-color: #2c3e50;
transform: translate(-50%,-50%);
}
.color-select{
margin-top: 20px;
margin-left: 20px;
}
.color-select ul{
list-style: none;
max-width: 70px;
display: flex;
}
.color-select ul li{
margin-right: 10px;
padding: 10px;
position: absolute;
transition: .5s;
}
.color-select ul li:nth-child(1){
z-index: 10;
background-color: black;
border-radius: 5px;
}
.color-select ul li+li{
left: 20px;
}
.color-select ul li a{
color : #fff
}
.color-select ul li:hover{
background-color: #e74c3c;
border: none;
border-radius: 5px;
}
Перед любым нажатием: рис-1
После того, как я нажал "выбрать цвет": рис-2
, если я выберулюбой другой цвет будет отображаться ни на одном экране, кроме того, который мы выбрали, и он также получит «оставленные 20 пикселей»: pic-3
, так что теперь, если я хочу изменить свой выбранный цветЯ должен нажать на свой предыдущий, и это должно быть что-то вроде 2-го изображения, но ничего не произойдет рис-4