我正在研究由javascript动作控制的CSS3动画,到目前为止,该脚本只能工作一次。我似乎无法得到重新加载脚本,以便它在其默认位置重新开始:在CSS3动画完成后重新加载JavaScript
这是JavaScript:
function searchBox() {
var searchstring = document.getElementById('search').value;
var target = document.getElementById('SearchResult');
if (searchstring.length > 0) {
$("#SearchResult").addClass("animation");
} else {
if (searchstring.length == 0) {
$("#SearchResult").addClass("animation_back");
}
}
}
所以它是从一个<input>
文本字段连接到只需有CSS DIV上的不透明度变化,问题是只能使用一次。当我在框中键入文本时,它会改变DIV的不透明度,当我删除文本时,它会再次隐藏(不透明度为0.0)DIV。但是当我再次输入时,没有任何反应。一定是小事。仍在学习。我尝试了一个“返回搜索框()”,但没有奏效。在此先感谢您的帮助。
这里是CSS:
@keyframes SearchResult {
from { opacity: 0; }
to { opacity: 1; }
}
.animation_SearchResult{
animation-name: SearchResult;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
@keyframes SearchResult_back {
from { opacity: 1; }
to { opacity: 0; }
}
.animation_SearchResult_back{
animation-name: SearchResult_back;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
这里是HTML
<input class="searchbox" type="text" id="search" onkeyup="searchBox()">
<div class="searchresultcontainer" id="SearchResult"></div>
在这一点上,搜索结果容器只是抱着一个红色的背景,使
#SearchResult{
background-color: red;
}
更改函数实际工作(谢谢GMchris):
function searchBox() {
var searchstring = document.getElementById('search').value;
var target = document.getElementById('SearchResult');
if (searchstring.length > 0) {
$("#SearchResult").removeClass("animation_back").addClass("animation");
} else {
if (searchstring.length == 0) {
$("#SearchResult").removeClass("animation").addClass("animation_back");
}
}
}
添加您的CSS有问题请 – Sachink
这也有助于添加您的html元素和用于绑定事件的代码。 – Seth