Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.01.2020, 17:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

selector::after background-image
В общих свойствах селектора задан размер, позиция и т.д., и в том числе

opacity: .85
transition: background-image 0.4s ease-in


В отдельном css для этого селектора прописан url изображения (в общем чтобы не ковыряться во всем). Этот путь изменяется так:

element.sheet.insertRule('.window::after{background-image:url("'+newimage+'")}', 1);
element.sheet.deleteRule(0);


И для Хрома, Оперы этого достаточно чтобы была анимация фона, а Лиса не хочет. Она конечно делает прозрачность фона указанную и все. Пробовал анимацию определять непосредственно для cssRules[index], тоже не получилось. Что-то я не так делаю.

Последний раз редактировалось laimas, 24.01.2020 в 17:08.
Ответить с цитированием
  #2 (permalink)  
Старый 24.01.2020, 17:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от laimas
transition: background-image
а лиса это поддерживает?
Ответить с цитированием
  #3 (permalink)  
Старый 24.01.2020, 17:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от рони
а лиса это поддерживает?
Надо посмотреть, но ей все равно пофигу даже если указать background или all.
Ответить с цитированием
  #4 (permalink)  
Старый 24.01.2020, 17:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Вот если транзакцию запускать по событию, например hover, вот тогда и в лисе будет работать, но нужно просто по смене.
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2020, 17:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Кажется придумал как сделать можно, попробую.
Ответить с цитированием
  #6 (permalink)  
Старый 24.01.2020, 17:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

laimas,
может так?
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
.window:before {
    background-image: url(http://placekitten.com/1200/900);

}
.window:after {
    background-image: url(http://placekitten.com/1000/750);

}
    .window
{
    width: 400px;
    height: 300px;
    position: relative;
    border: 1px solid green;


}

.window:after,  .window:before{
    content: "";
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-size: cover;
    opacity: .85;
    transition: opacity 0.4s ease-in;
}






  </style>

</head>
<body>
<div class="window" ></div>
<script>
window.setTimeout(function() {
document.styleSheets[0].insertRule('.window::after{opacity: 0}', 4);
}, 1000)


</script>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 24.01.2020, 18:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Во-первых таймер, во вторых изображений может быть с десяток и более, это не постоянная величина, а смена изображений вынесена в отдельный css, потому, что это общее правило для css различных тем. Не хотелось быть изменять css-файлы тем.

Хотелось бы так: добавили в фон еще изображение, анимировали, а затем по событию transitionend удаляли старое.

PS. Смена изображений запускается по выбору элементов на странице, не по таймеру постоянная смена. А с добавлением правила opacity попробую комбинацию.

Последний раз редактировалось laimas, 24.01.2020 в 18:03.
Ответить с цитированием
  #8 (permalink)  
Старый 24.01.2020, 18:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

laimas,
когда-то background-image умел анимировать только хром, сейчас не знаю.
Ответить с цитированием
  #9 (permalink)  
Старый 24.01.2020, 18:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сейчас и Опера, которая его движок использует, тоже анимирует. Надо попробовать комбинацию добавления изображения+прозрачность, может получится.

Была идея добавлять класс и у этого класса определять изменения, Опера, Хром работают, а Лиса упорно в норе сидит. )
Ответить с цитированием
  #10 (permalink)  
Старый 24.01.2020, 18:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Лиса и это до сих пор не утрясла <link rel="preload" as="image", а в остальных все норма, удобно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая смена картинок через заданное время herotic Элементы интерфейса 45 15.05.2020 16:44
Арканоид - побитовые операции (замена на условия) Eadweard Events/DOM/Window 8 14.03.2016 16:12
Помогите с рандомными значениями злобная_пипа Элементы интерфейса 6 02.10.2015 20:11
Оцените, пожалуйста код вёрстки OlegALL Ваши сайты и скрипты 18 26.07.2011 09:35
background image, справочник igor1102828 Элементы интерфейса 2 23.03.2008 18:53