Добавление второго стиля к элементу
У меня есть элемент, я присвоил к нему один стиль, после чего мне нужно добавить ещё один.
for (var i = 0; i < DUCK1_COUNT; i++) {
$(".menu").after("<img src='img/004-duck.png' class='utka plav'>");
$(".utka").addClass('Krykvi1'+i);
$('.Krykvi1'+i).css('transform', 'translate(' + getRandomIn(0, 1500) + 'px, ' + getRandomIn(0, 800) + 'px)');
if (getRandomIn(3, 6) < 5) {
$('.Krykvi1'+i).addClass('duck-flip');
}
}
Где начинается оператор if, там присваивается новый класс. Но после присвоения этого НОВОГО класса свойства предыдущего стираются, то есть transform translate убирается и на его место встают свойства класса duck-flip. Как добавить класс или стиль элементу второй раз? |
Retro_1477,
а так?
for (var i = 0; i < DUCK1_COUNT; i++) {
var DUCK = $("<img src='img/004-duck.png' class='utka plav'>")
.insertAfter(".menu")
.addClass('Krykvi1'+i)
.css('transform', 'translate(' + getRandomIn(0, 1500) + 'px, ' + getRandomIn(0, 800) + 'px)');
if (getRandomIn(3, 6) < 5) {
DUCK.addClass('duck-flip');
}
}
|
Хорошая попытка, но результат тот же.
Он добавляет класс, но почему-то transform translate блокирует transform scaleX(который в классе duck-flip). Если я убираю translate то scaleX работает. |
Цитата:
|
Retro_1477,
думал у вас проблема с размножением классов <img src="img/004-duck.png" class="utka plav Krykvi10 duck-flip Krykvi11 Krykvi12 Krykvi13 Krykvi14" style="transform: translate(4px, 4px);"> код выше убирает это. |
Я избавился от размножения классов во таким образом
for (var i = 0; i < DUCK1_COUNT; i++) {
$(".menu").after("<img src='img/004-duck.png' class='utka plav'>");
$(".utka").addClass('Krykvi1'+i);
$('.Krykvi1'+i).css('transform', 'translate(' + getRandomIn(0, 1500) + 'px, ' + getRandomIn(0, 800) + 'px)');
if (getRandomIn(3, 6) < 5) {
$('.Krykvi1'+i).addClass('duck-flip');
}
$( "img" ).removeClass( "utka");
}
Так что с этим всё нормально)) |
И как поступить?:blink:
|
Retro_1477,
как-то так
for (var i = 0; i < DUCK1_COUNT; i++) {
var DUCK = $("<img src='img/004-duck.png' class='utka plav'>").insertAfter(".menu")
.addClass('Krykvi1'+i);
var transform = 'translate(' + getRandomIn(0, 1500) + 'px, ' + getRandomIn(0, 800) + 'px)'
if (getRandomIn(3, 6) < 5) {
transform = "?????"
}
DUCK.css('transform', transform);
}
|
Крч, смотри, у меня происходит спаун уток, в рандомной местах и некоторые из них должны быть повёрнуты на scaleX(-1) воооот
|
Retro_1477,
и в чём проблема? |
Retro_1477,
for (var i = 0; i < DUCK1_COUNT; i++) {
var DUCK = $("<img src='img/004-duck.png' class='utka plav'>").insertAfter(".menu")
.addClass('Krykvi1'+i);
var transform = 'translate(' + getRandomIn(0, 1500) + 'px, ' + getRandomIn(0, 800) + 'px)'
if (getRandomIn(3, 6) < 5) {
transform += " scaleX(-1)"
}
DUCK.css('transform', transform);
}
|
Спасибо большое!:thanks: :thanks: :thanks: :thanks: :thanks:
|
Retro_1477,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
function getRandomIn(a,b)
{
return a + Math.random()*(b-a)|0
}
var DUCK1_COUNT = 5;
for (var i = 0; i < DUCK1_COUNT; i++) {
var DUCK = $("<img src='http://krasnodar.meatinfo.ru/data/tradeboard/116303/tradeboardUsKIoT_pre.jpg' class='utka plav'>").insertAfter(".menu")
.addClass('Krykvi1'+i);
var transform = 'translate(' + getRandomIn(0, 100) + 'px, ' + getRandomIn(0, 400) + 'px)'
if (getRandomIn(3, 6) < 5) {
transform += " scaleX(-1)"
}
DUCK.css('transform', transform);
}
});
</script>
</head>
<body>
<div class="menu"></div>
</body>
</html>
|
Всё работает))
|
| Часовой пояс GMT +3, время: 09:18. |