我想设置一个随机生成的背景图像。
我正在使用 Meteor 并正在调用 Flickr API 以提供我想设置为背景图像的随机图像 URL。
从我读过的内容来看,CSS 现在似乎是设置背景图像的推荐方法。有没有办法将动态生成的 url 注入 CSS 中?我似乎找不到显示 Handlebars.js 和 CSS 混合的示例 - 这可能吗?还是我应该避免使用 CSS 并使用传统的 HTML 方式设置背景图像?
我一直在尝试两种不同的策略:
1)使用通过把手注入的url在HTML中创建CSS属性-但我似乎无法将CSS属性与把手连接起来。
2) 我尝试的另一种方法是在模板代码中创建 CSS 属性作为变量,并通过 Handlebars 将其返回到 HTML 中,如下所示:
Template.backgroundImage.background = function(){
//runs function to generate url and add to Session object
FlickrRandomPhotoFromSet(setID);
//create variable with html and css attribute concatenated to url
var backgroundImage = '<div style="background-image: url('+Session.get("RandomURL")+')"></div>';
//return resultant variable to HTML via template
return backgroundImage;
};
然后在 HTML 中我插入了以下内容:
<template name="backgroundImage">
{{background}}
</template>