我的主题中有一段代码,它将背景附加为 CSS 背景。 JS代码如下:
$('.background-image-holder').each(function() {
var imgSrc = $(this).children('img').attr('src');
$(this).css('background', 'url("' + imgSrc + '")');
$(this).children('img').hide();
$(this).css('background-position', 'initial');
});
// Fade in background images
setTimeout(function() {
$('.background-image-holder').each(function() {
$(this).addClass('fadeIn');
});
}, 200);
现在的问题是,每次刷新页面时,这段代码都会起作用,但当我从一条路线单击到下一条路线时,这段代码就不那么有效了。
例如我刷新索引页面并加载封面图像,但如果我单击“关于”页面,则“关于”页面上的图像将不再加载...除非我刷新页面。我当前正在使用 .onRendered 方法执行代码:
Template.mainIndex.onRendered(function(){ ...code here });
我是否可以在每次加载时重新执行此脚本,或者是否有更好的方法来解决此问题?我在 Meteor JS 上使用 Flow Router 和 Blaze Layout。
最佳答案
FlowRouter
有触发器:https://github.com/kadirahq/flow-router#triggers
FlowRouter.triggers.enter([cb1, cb2]);
FlowRouter.triggers.exit([cb1, cb2]);
关于javascript - 在 Meteor/Flow Router 中重新执行 Javascript 每条路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32036553/