1

如果没有内容的闪存,我将如何实现页面加载。我有一个日历,在更改月份时,我可以在页面更改时保持顶部栏(使用 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');
                       });

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

4

2 回答 2

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 方法有一个 oncomplete 方法。这可能对你更有效。

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

让我知道它是如何工作的

于 2013-05-27T01:14:49.350 回答
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('');

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

于 2013-05-27T12:10:16.207 回答