我有以下layout.jade代码,我想对javascript进行一些更改,以便每次重新加载页面时我都可以将一些图像加载到页面中。我想用玉石做这个。这是我目前的代码:
html
head
title= title
script(src='/libs/jquery/jquery.min.js')
link(rel='stylesheet', href='/libs/bootstrap/css/bootstrap.min.css')
link(rel='stylesheet', href='/stylesheets/style.css')
body
script(type='text/javascript').
if (document.cookie.indexOf('mycookie')==-1) {
document.cookie = 'mycookie=1';
}
else {
alert('You refreshed!');
}
block content
它适用于刷新,并给我提醒。 我有10个图像,我想在循环中将它们添加到页面中,这样每次刷新页面时都会加载下一个图像,然后在最后一个图像之后它转到第一个图像。 我可以尝试使用for循环而不是警告消息来加载图像,但是当我尝试在else语句中使用标准的jade方式添加图像时,没有显示图像。
我已尝试创建reload.js页面,然后在应用程序中调用它等等。
任何人都可以帮助我如何从图像文件夹中获取图像,如
img(border="0" src="images/3.jpg")
通过对此进行更改。我想查看页面是否重新加载,然后加载了不同的图像。
由于
答案 0 :(得分:1)
可能有很多方法可以做到这一点。这里有一个:你可以在服务器端使用sessions(客户端JS中使用IMO比使用cookie更好)来创建一个保存所需图像的变量(基于变量)并将其传递给jade,它只是用该图像编译HTML。
这样的事情:
服务器强>
app.get('/', function(req, res){
// incrementation logic
if(!req.session.myimage)
req.session.myimage = 0;
req.session.myimage++;
if(req.session.myimage > 10)
req.session.myimage = 1;
// pass it onto Jade
res.locals.myimage = req.session.myimage;
res.render('index');
});
<强>玉强>
img(border="0" src="images/#{myimage}.jpg")