#javascript #jquery #html #css
#javascript #jquery #HTML #css
Вопрос:
Итак, я использую jQuery для изменения значков и использую CSS для применения перехода. По какой-то причине это не работает, вот мой код
CSS
.fa-heart{
transition: 1s;
}
.fa-heart-o{
transition: 1s;
}
JS
$('.fa-heart-o').hover(function() {
$(this).toggleClass('fa-heart-o fa-heart');
}, function() {
$(this).toggleClass('fa-heart-o fa-heart');
});
Демонстрация http://jsfiddle.net/cLVBg/1 / Есть идеи?
Комментарии:
1. вы забыли включить jquery в свой fiddle, я обновил: jsfiddle.net/cLVBg/1
2. Какого рода переход вы ожидаете?
3. Переход за 1 секунду. Вот так jsbin.com/jiqufano/1/edit Вместо цвета фона это был бы элемент @j08691
4. Но вы не меняете никаких свойств CSS. Просто класс. В jsbin цвет меняется между классами.
5. @user302975 но здесь нет свойства для анимации, вы просто меняете содержимое псевдоэлемента
Ответ №1:
content
не является анимируемым свойством, следовательно transition
, не применяется. Однако, если вы просто хотите заполнить сердце переходом по непрозрачности, попробуйте поработать с сердцем, созданным в SVG или CSS, или просто поместите одно сердце поверх другого и измените их значение непрозрачности.
Комментарии:
1. @A.Wolff — Я могу даже сделать это с
:hover
, но мне лень редактировать, поэтому я просто скопировал код op: P
Ответ №2:
То, что вы делаете сейчас, — это замена содержимого при наведении курсора мыши. Если вы хотите медленный переход, вы можете использовать свойства CSS для достижения этого, например:
HTML:
<div id="transition"></div>
CSS:
#transition {
width: 50px;
height: 50px;
background-color: blue;
}
#transition:hover {
transition: background-color 1s ease;
background-color: red;
}
transition
Свойство требует, чтобы вы объявили другое свойство, к которому будет применяться переход. Вы можете выбрать продолжительность, функцию синхронизации перехода ( ease
в данном случае) и задержку, если хотите.
Комментарии:
1. @user302975 Я показал вам, как использовать CSS для создания эффекта, который вы ищете. Вы должны быть в состоянии применить его самостоятельно к своему собственному коду без особых трудностей.
2. @user3537990 Это фон элемента , поэтому он все еще выполняет переход элемента.