我有一些jQuery来制作div'flash',但我希望它只在页面加载到div之后才发生,而不是立即发生。
$('#div').load("page.php");
$('#div').fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
有一种简单的方法吗?
答案 0 :(得分:0)
您可以使用load()
的回调参数来提供将在AJAX请求完成后执行的函数。试试这个:
$('#div').load("page.php", function() {
$(this).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
});
你应该注意,你可以单独使用CSS来实现闪烁效果。这将使JS更简洁,也表现更好:
// place this within the callback function
$('#div').addClass('blink_me');

.blink_me { animation: blinker .5s linear 3; }
@keyframes blinker { 50% { opacity: 0; } }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div">
<span>Some content added by load()</span>
</div>
&#13;
答案 1 :(得分:0)
load()
确实有回调,您应该使用它。它仅在load()
完成后执行。适合您的需求:
$('#div').load("page.php", function() {
$(this).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
});