![](/img/trans.png)
[英]How can i get refreshed value of flask variable with JS and show in HTML template every 30 seconds?
[英]How to pass a Rails variable into a view's CSS that must be refreshed dynamically (every 60 seconds)?
我有一个元素的background-image属性变量,我需要通过Rails应用程序中的某些后端逻辑每60秒修改一次。
如何从助手中获取变量或方法值到视图的CSS中?
目前,我有一个帮助程序,它从另一个来源中选择一个更新的URL。 我需要每分钟触发一次此帮助程序调用,以获取由以下CSS掩盖的源图像的更新URL:
.bg {
background-image: url(http://mydomain.tld/someimage.jpg);
background-repeat: no-repeat;
background-size: 203%;
background-position: top left;
width: 256px;
height: 256px;
}
background-image url
是需要在分钟内刷新的内容。
据我所知,您不能真正从视图代码中直接访问CSS-但是,您当然可以使用Javascript来应用CSS样式(JQuery使其很容易,并且默认情况下带有rails),并且您可以在您的实例中使用实例变量该Javascript中的控制器。
或者,您可以在视图中使用内联CSS-但这似乎比JS解决方案还糟。
编辑:
这是我所谈论的要点-这未经测试,但应该给您一个开始。
$(document).ready(function() {
var refreshImage = function(){
$.ajax({
url: 'your helper url here',
success: function( data ) {
$(".bg").css("background-image" "url(" + data.url + ")");
setTimeout(refreshImage(), 60000);
}
});
}
refreshImage();
});
基本上,您可以对准备就绪的文档进行调用,该调用将从您定义的某些操作中获取图片网址,然后在页面上进行设置,并“安排”自身在60秒内再次触发。
直接在页面上使用CSS进行操作,就像在页面上处理任何其他动态内容一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.