在jade中使用javascript添加图像

时间:2014-10-27 04:12:56

标签: javascript express pug

我有以下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")

通过对此进行更改。我想查看页面是否重新加载,然后加载了不同的图像。

由于

1 个答案:

答案 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")