如果没有内容的闪存,我将如何实现页面加载。我有一个日历,在更改月份时,我可以在页面更改时使用顶级栏(使用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');
});
在此先感谢您的帮助,我很难过!
答案 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('');
我正在搞乱它,这段代码似乎对我想做的事情非常好。它仍然几乎相同,花哨的效果只是掩盖了它的“闪光”。