加载事件完成后执行操作

时间:2017-07-23 12:22:31

标签: jquery load

我有一些jQuery来制作div'flash',但我希望它只在页面加载到div之后才发生,而不是立即发生。

$('#div').load("page.php");
$('#div').fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);

有一种简单的方法吗?

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:0)

load()确实有回调,您应该使用它。它仅在load()完成后执行。适合您的需求:

$('#div').load("page.php", function() {
  $(this).fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100);
});