我一直试图让我的应用程序不时更改背景图片,但我无法加载图片。我使用了Inspect Element而我没有为我的照片获得任何404但是rails似乎无法加载它们。 无论如何这里是我的代码到目前为止。现在它只是淡入淡出整个屏幕。
$(document).ready(function() {
var backgrounds = ["medium2-doge-hannibal.jpg", "dog_bone_wide.jpg", "water_sports_medium.jpg"];
function nextBackground() {
var rand = Math.floor(Math.random() * backgrounds.length);
$(".public-content").fadeOut(300, function () {
$(".public-content").css("background", "asset-path("+backgrounds[rand]+" )");
$(".public-content").fadeIn(300, function () {
setTimeout(nextBackground, 3000)
});
});
}
nextBackground();
});
感谢任何帮助。谢谢!
答案 0 :(得分:1)
jvnill
是对的。
你需要append the .erb
filetype到你的js:
#app/assets/javascripts/application.js.erb
function nextBackground() {
var backgrounds = ["<%= asset_path('medium2-doge-hannibal.jpg') %>", "<%= asset_path('dog_bone_wide.jpg') %>", "<%= asset_path('water_sports_medium.jpg') %>"];
var rand = Math.floor(Math.random() * backgrounds.length);
$(".public-content").fadeOut(300, function () {
$(".public-content").css("background", backgrounds[rand]);
$(".public-content").fadeIn(300, function () {
setTimeout(nextBackground, 3000)
});
});
}
$(document).ready(function() {
nextBackground();
});