如何在每个Ajax请求上重复一个函数

时间:2017-12-08 21:19:53

标签: jquery ajax

所以我把这个转换代码作为一个例子,但基本上我的页面上有3个按钮,用于加载不同的html文件。当我单击第一个按钮时,.ajaxSend中的函数正常工作。单击下一个按钮加载不同的html文件后,.ajaxSend函数不起作用,但html文件加载正常。

我是否遗漏了某些东西,或者是否有办法基本设置功能,以便每次加载html文件时都会重置。

$('a').click(function(){
  var page = $(this).attr('href');
  $("#content").hide().load(page).fadeIn('500');

  return false;
});

$( document ).ajaxSend(function() {
  setInterval(function () {
       $('body').css('transform', 'rotate(360deg)');
   },300);
});

2 个答案:

答案 0 :(得分:0)

360度的旋转是从原始位置(0度)的旋转。因此,一旦轮换,它就不会做任何其他事情。您需要自己添加额外的轮换。为此,您可以存储一个保持旋转的变量,并在每次调用ajaxSend时增加360。

let rotation = 0;
$( document ).ajaxSend(function() {
       rotation += 360;
       $('body').css('transform', 'rotate(' + rotation + 'deg)');
});

答案 1 :(得分:0)

如果我理解正确,当您点击第一个按钮时,它会应用style =' transform:rotate(360deg)'在身体上。

当您点击第二个按钮时,它只是要离开style =' transform:rotate(360deg)'在身体上,所以它不会再旋转它。我建议的是,在ajaxSend函数中首先在添加css样式之前从body中删除css。

我希望我很清楚。如果有效,请告诉我。