0

我安装了一个 jQuery 插件Backstretch并与我的 Refinery Rails 应用程序一起使用。

该插件会加载我在其中列出的 1 张图片

应用程序.js

    //= require 'jquery-backstretch'
$.backstretch("/system/images/W1siZiIsIjIwMTMvMDMvMjcvMjJfNTZfMjRfOTkyX3NsYXRlX2JnLnBuZyJdXQ/slate-bg.png");

我正在尝试从我发现的一个示例中工作,该示例说明“使用 if/else 语句来加载回弹。if($("body#about"))....else if($("body#contact")...";但是我真的不知道如何正确编写它。这是我尝试过的:

应用程序.js

    //= require 'jquery-backstretch'
if ($"body#home"($.backstretch("/system/images/W1siZiIsIjIwMTMvMDMvMjcvMjJfNTZfMjRfOTkyX3NsYXRlX2JnLnBuZyJdXQ/slate-bg.png"));
 else if ($"body#our-passion".backstretch("/system/images/W1siZiIsIjIwMTMvMDMvMjUvMDBfMTlfMjlfMzgyX2JnXzFfYmlnLnBuZyJdXQ/bg-1-big.png"));

写这个的正确方法是什么?或者有没有更好的方法来达到这个效果?

4

2 回答 2

1

首先,为什么在 id 之前需要 body ?即身体#home

由于#home 和#our-passion 都是id,因此您似乎不需要body。

至于您的问题:我认为这就是您想要的,尽管您实际上想要实现的目标有点模糊:

if ($("#home").length != 0) {
  $.backstretch("/system/images/W1siZiIsIjIwMTMvMDMvMjcvMjJfNTZfMjRfOTkyX3NsYXRlX2JnLnBuZyJdXQ/slate-bg.png");
} else if ($("#our-passion").length != 0) {
  $.backstretch("/system/images/W1siZiIsIjIwMTMvMDMvMjUvMDBfMTlfMjlfMzgyX2JnXzFfYmlnLnBuZyJdXQ/bg-1-big.png");
}

我可能解释错了。也许您正在尝试为#home 和#our-passion 添加回弹?

希望这可以帮助!

编辑 这里是我们的激情页面应该包含在 HTML 中的内容:

<!DOCTYPE html>
<html lang="en">
  <head>
    ...
  </head>
  <body>
    <div id="our-passion"></div>
  </body>
 </html>

还有其他方法可以做到这一点,但这是根据您的问题如何做到的。

于 2013-03-28T17:14:24.833 回答
0

这通过把

$(".show").backstretch("/system/images/W1siZiIsIjIwMTMvMDMvMjcvMjJfNTZfMjRfOTkyX3NsYXRlX2JnLnBuZyJdXQ/slate-bg.png");
$(".home").backstretch("/system/images/W1siZiIsIjIwMTMvMDMvMjUvMDBfMTlfMjlfMzgyX2JnXzFfYmlnLnBuZyJdXQ/bg-1-big.png");

在 application.js 文件中 - 并包含正文的内容及其相应的 div。

更新:

我最终在单独的视图中运行了这个脚本。

于 2013-03-28T21:28:15.567 回答