在 CSS3 动画完成后重新加载 JavaScript
reload a javascript after CSS3 Animation is finished
我正在制作由javascript操作控制的CSS3动画,到目前为止,该脚本只能工作一次。我似乎无法重新加载脚本,因此它在其默认位置再次启动:
这是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>
文本字段连接到仅在DIV上具有不透明度更改的CSS,问题是只能工作一次。当我在框中键入文本时,它会更改 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");
}
}
}
你需要写。
$("#SearchResult").removeClass('animation').addClass("animation");
CSS 动画在存在具有合适选择器的元素时立即执行。这意味着当添加animation
类时,它将触发动画并播放到结束,但是由于addClass
只添加类,如果类已经存在,再次调用它不会真正执行某些操作,因此您需要删除该类,然后再次添加它。
如果您想在
CSS 动画完成后重新加载函数,这样的事情应该可以工作。您必须在加载页面时声明事件。
$( document ).ready(function(){
var element = $("#SearchResult");
$element.on('transitionend webkitTransitionEnd oTransitionEnd', function () {
searchBox();
});
});
相关文章:
- ADF:有条件地加载javascript资源
- .load()函数赢得't加载javascript
- Gmaps搜索和kmz加载javascript
- 页面显示前加载Javascript警报
- 依赖于缓慢加载javascript的UI
- 在外部JS执行后加载JavaScript
- 在WordPress站点中加载jquery.js后加载javascript代码
- 图像未加载javascript、html、angular、imdb-api
- 加载 JavaScript 取决于以前异步加载的 JavaScript
- 预加载Javascript音频以在脚本中播放
- 无法加载Javascript错误XMLHttpRequest
- AJAX JSF请求后重新加载Javascript
- Rails Assets Pipeline从控制器和方法加载JavaScript
- 使用Require.js按照依赖关系的顺序加载JavaScript
- 正在等待加载文件(加载JavaScript)
- 仅在需要时加载javascript函数
- 直接导航到chrome中的页面时未加载Javascript脚本
- 异步加载Javascript
- IE7 未加载 JavaScript 文件
- 从框架中的函数异步加载 Javascript