Ответ 1
Вы можете добавить css3-переходы:
-webkit-transition: all 500ms ease;
-moz-transition: all 500ms ease;
-ms-transition: all 500ms ease;
-o-transition: all 500ms ease;
transition: all 500ms ease;
Есть ли способ замедлить эффект наведения? У меня есть эффект зависания на моем сайте (удален), который отображает текст при наведении изображений. Я хочу немного замедлить эффект. Это немного напоминает, как быстро изображение переключается.
Как мне это сделать?
Вы можете добавить css3-переходы:
-webkit-transition: all 500ms ease;
-moz-transition: all 500ms ease;
-ms-transition: all 500ms ease;
-o-transition: all 500ms ease;
transition: all 500ms ease;
Это зависит от того, как вы показываете текст. Если вы изменяете свойство CSS, вы можете сделать это с помощью переходов CSS3. Ниже приведен пример.
HTML:
<div id="A"></div><div id="B"></div>
CSS
div {
height: 100px;
width: 100px;
position: absolute;
top: 0;
left: 0;
-moz-transition: opacity 4s; /* Firefox */
-webkit-transition: opacity 4s; /* Safari and Chrome */
-o-transition: opacity 4s; /* Opera */
transition: opacity 4s;
}
#A {
background: red;
opacity: 1;
z-index: 1;
}
#B {
background: blue;
opacity: 0;
z-index: 2;
}
#B:hover {
opacity: 1;
}
Изменить: Дэвид Томас сказал мне, что вы не можете изменить отображение с переходами. Я обновил выше, чтобы использовать непрозрачность.
Я знаю, что это довольно поздно, но посмотрите на анимацию CSS3. Я использую анимацию на одном из экранов загрузки Garry Mod.
/* Styles go here */
button {
margin-left: 50%;
margin-right: 50%;
}
button:hover {
-webkit-animation: breathing 5s ease-out infinite normal;
animation: breathing 5s ease-out infinite normal;
}
@-webkit-keyframes breathing {
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
25% {
-webkit-transform: scale(1.5);
transform: scale(1.5);
}
50% {
-webkit-transform: scale(1);
transform: scale(1);
}
75% {
-webkit-transform: scale(1.5);
transform: scale(1.5);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes breathing {
0% {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
25% {
-webkit-transform: scale(1.5);
-ms-transform: scale(1.5);
transform: scale(1.5);
}
50% {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
75% {
-webkit-transform: scale(1.5);
-ms-transform: scale(1.5);
transform: scale(1.5);
}
100% {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>
<p>Below I have a button that changes size on mouse hover useing CSS3</p>
<button>Hover over me!</button>
</body>
</html>
Если вы хотите, вы можете использовать jQuery.fadeIn() http://api.jquery.com/fadeIn/
.fadeIn([продолжительность] [, обратный вызов])
продолжительность строка или номер, определяющий продолжительность выполнения анимации.
callback для вызова после завершения анимации.