Jquery页面更改没有闪烁效果

时间:2013-05-27 01:08:13

标签: javascript jquery

如果没有内容的闪存,我将如何实现页面加载。我有一个日历,在更改月份时,我可以在页面更改时使用顶级栏(使用sammy.js),但是当我更改月份时,内容会闪烁并且看起来很难看。我试过淡入淡出,但不能让它看起来不错。加载图像是否可行?如果是这样,那将如何做,我对jquery相当新。

现在我的代码是

 this.get('#/calendar/:month/:year', function(context) {
              context.app.swap('');
              context.$element().fadeOut('slow');
              context.$element().load('calshow.php?m=' + this.params['month'] +'&y=' + this.params['year'] +'');
              context.$element().fadeIn('slow');
                       });

在此先感谢您的帮助,我很难过!

2 个答案:

答案 0 :(得分:1)

在黑暗的猜测中拍摄

试试这个

this.get('#/calendar/:month/:year', function(context) {
              var $currentElement = context.$element();

              context.app.swap('');
              $currentElement.fadeOut('slow', function(){
                  $currentElement.load('calshow.php?m=' + this.params['month'] +'&y=' + this.params['year'] +'', function(){
                      $currentElement.fadeIn('slow');
                  });
              });

编辑:编辑了这个例子。 fadeOut方法有一个不完整的方法。这对你来说可能更好。

再次编辑:发现load方法也有一个oncomplete方法。我不喜欢像这样链接onCompletes但它可能对你有用。我还为上下文创建了一个变量。$ element()。我发现当你把这样的东西链在一起时会有所帮助。

让我知道它是如何运作的

答案 1 :(得分:0)

 this.get('#/calendar/:month/:year', function(context) {
      context.app.swap('-Have to put text here to fill empty space-').effect('fold');
      context.$element().load('calshow.php?m=' + this.params['month'] +'&y=' + this.params['year'] +'');
      context.$element().show('');

我正在搞乱它,这段代码似乎对我想做的事情非常好。它仍然几乎相同,花哨的效果只是掩盖了它的“闪光”。