加载事件完成后执行操作
Perform action after load event has completed
我有一些 jQuery 可以制作 div 'flash',但我希望它只在页面加载到 div 后发生,而不是立即发生.
$('#div').load("page.php");
$('#div').fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
有没有简单的方法可以做到这一点?
您可以使用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>
load()
确实有回调,您应该使用它。它仅在 load()
完成后执行。非常适合您正在寻找的东西:
$('#div').load("page.php", function() {
$(this).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
});
我有一些 jQuery 可以制作 div 'flash',但我希望它只在页面加载到 div 后发生,而不是立即发生.
$('#div').load("page.php");
$('#div').fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
有没有简单的方法可以做到这一点?
您可以使用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>
load()
确实有回调,您应该使用它。它仅在 load()
完成后执行。非常适合您正在寻找的东西:
$('#div').load("page.php", function() {
$(this).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
});