Size: a a a

2021 March 22

..

. . in Svelte [svelt]
Alex Ivashkin
querySelector никто не отменял)))
use же вполне заменяет его
источник

AI

Alex Ivashkin in Svelte [svelt]
. .
в этом компоненте нет библиотек пока
Написал до того как прочитал. Да, странно
источник

..

. . in Svelte [svelt]
Alex Ivashkin
Можешь собрать пример в repl с ошибкой? Очень уж интересно
источник

..

. . in Svelte [svelt]
в репле такого бага нет
источник

..

. . in Svelte [svelt]
ещё вести с полей:
захожу на страницу по айпи/порту(извне с того же бука) и всё нормально
скидываю кэши и вижу как фокусит первый инпут, а потом перескакивает на второй
источник

MA

Melih Altintas in Svelte [svelt]
источник

MA

Melih Altintas in Svelte [svelt]
источник
2021 March 23

AI

Alex Ivashkin in Svelte [svelt]
. .
в репле такого бага нет
Может расширение какое?
источник

..

. . in Svelte [svelt]
Alex Ivashkin
Может расширение какое?
да нет их вроде кроме того, которое JSON красиво показывает
источник

..

. . in Svelte [svelt]
спас таймаут
источник

..

. . in Svelte [svelt]
export function focusOnMount(node) {
 setTimeout(() => {
   node.focus();
 }, 100)
}
источник

К

Коржик in Svelte [svelt]
День добрый, господа и дамы
Пытаюсь добавить эффект перехода к тэгу, но не прет  =(
Может кто подсказать?
Мне хотелось бы, чтобы div при загрузке страницы начинал исчезать и удалялся из DOMа через 3 сек.
С помощью jQuery это реализуется просто:
  $(".loader").fadeOut(3550, function () {
     $(this).remove();
   });
В svelte какая-то байда с функцией fade. В аналогичной форме с джеквери оно не пашет:
<script>
 import { fade } from "svelte/transition";
 import { expoOut } from "svelte/easing";
</script>

<!-- IT DOES NOT WORK -->
<div class="loader" out:fade={{ delay: 0, duration: 3550, easing: expoOut }}>
 <h1 class="loader-hello">Hello</h1>
 <h1 class="loader-world">World</h1>
</div>

В API нашел, что переход (то бишь transition) инициируется добавлением или удалением элемента из DOM в результате изменения состояния приложения. Я правильно понял, что без блока {#if visible} {/if} ничего не будет работать? Надо использовать какой-нибудь setTime() или setInterval()... и на кой мне тогда свойство delay?  =\
источник

DK

Dan Kozlov in Svelte [svelt]
Коржик
День добрый, господа и дамы
Пытаюсь добавить эффект перехода к тэгу, но не прет  =(
Может кто подсказать?
Мне хотелось бы, чтобы div при загрузке страницы начинал исчезать и удалялся из DOMа через 3 сек.
С помощью jQuery это реализуется просто:
  $(".loader").fadeOut(3550, function () {
     $(this).remove();
   });
В svelte какая-то байда с функцией fade. В аналогичной форме с джеквери оно не пашет:
<script>
 import { fade } from "svelte/transition";
 import { expoOut } from "svelte/easing";
</script>

<!-- IT DOES NOT WORK -->
<div class="loader" out:fade={{ delay: 0, duration: 3550, easing: expoOut }}>
 <h1 class="loader-hello">Hello</h1>
 <h1 class="loader-world">World</h1>
</div>

В API нашел, что переход (то бишь transition) инициируется добавлением или удалением элемента из DOM в результате изменения состояния приложения. Я правильно понял, что без блока {#if visible} {/if} ничего не будет работать? Надо использовать какой-нибудь setTime() или setInterval()... и на кой мне тогда свойство delay?  =\
Все верно поняли.
Delay — это задержка применения анимации, прямо как в CSS. Да, нужен if-тег и интервал. Интервал рекомендую делать в onMount и возвращать стрелочную функцию, которая делает clearInterval.

А вам точно нужно для этого JS юзать? Может, сойдет CSS-анимация, меняющая opacity элемента, но не убирающая его из дома?
источник

A

Arushwl in Svelte [svelt]
Ещё #key и можно даже #each... по ситуации
источник

A

Arushwl in Svelte [svelt]
Хотя я не понял кейса 😁
источник

К

Коржик in Svelte [svelt]
Dan Kozlov
Все верно поняли.
Delay — это задержка применения анимации, прямо как в CSS. Да, нужен if-тег и интервал. Интервал рекомендую делать в onMount и возвращать стрелочную функцию, которая делает clearInterval.

А вам точно нужно для этого JS юзать? Может, сойдет CSS-анимация, меняющая opacity элемента, но не убирающая его из дома?
Спасибо за ответ.
источник

A

Arushwl in Svelte [svelt]
{{ delay: ms }} можно согласовать несколько переходов...
источник

МТ

Марк Танащук... in Svelte [svelt]
Коржик
День добрый, господа и дамы
Пытаюсь добавить эффект перехода к тэгу, но не прет  =(
Может кто подсказать?
Мне хотелось бы, чтобы div при загрузке страницы начинал исчезать и удалялся из DOMа через 3 сек.
С помощью jQuery это реализуется просто:
  $(".loader").fadeOut(3550, function () {
     $(this).remove();
   });
В svelte какая-то байда с функцией fade. В аналогичной форме с джеквери оно не пашет:
<script>
 import { fade } from "svelte/transition";
 import { expoOut } from "svelte/easing";
</script>

<!-- IT DOES NOT WORK -->
<div class="loader" out:fade={{ delay: 0, duration: 3550, easing: expoOut }}>
 <h1 class="loader-hello">Hello</h1>
 <h1 class="loader-world">World</h1>
</div>

В API нашел, что переход (то бишь transition) инициируется добавлением или удалением элемента из DOM в результате изменения состояния приложения. Я правильно понял, что без блока {#if visible} {/if} ничего не будет работать? Надо использовать какой-нибудь setTime() или setInterval()... и на кой мне тогда свойство delay?  =\
Есть у компилятора опция init чтобы анимации сразу у нод проигрывались, а не после удаления из dom, но она работает только для всего приложения(на данный момент времени)
источник

МТ

Марк Танащук... in Svelte [svelt]
Так что проще всего либо вручную анимировать, повесив экшн с кодом который будет анимировать ноду по маунтингу(или изменению стейта) либо создать и сразу удалить ноду проиграв out:
источник

DK

Dan Kozlov in Svelte [svelt]
Типичные рекомендации разработчиков: посоветовать 20 вариантов, не зная, чего человек пытается добиться :)
источник