从Backstretch图像链接?

时间:2012-11-09 15:22:38

标签: jquery ruby-on-rails

我使用Backstretch作为在Ruby on Rails项目中获得良好的一致用户体验跨浏览器的方法。图像实际上是SalesPage模型的实例,并且在图像URL旁边有一个标题和附加到它们的URL。

我按如下方式加载图片:

- images = []
- sales_pages_images = []
- @sales_pages.each do |page|
- images << "'#{page.images.first.image.url}'"

#backgroundImageSlider
  :javascript
  var images = [#{images.join(",")}];
  $(images).each(function(){ $("<img/>")[0].src = this; });
  var index = 0;
  setInterval(function() { index = (index >= images.length - 1) ? 0 : index + 1;       $.backstretch(images[index]);}, 5000);
$.backstretch(images[index], {speed: 500});

这很好用。除了我想将图像变成链接的事实。我希望可以查看背景图像,并将它们链接到数据库中的URL。我没有javascript英雄,所以我无法让它工作:(

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

试试这个! :)

在您的标记中假设您的<a>代码旁边有一个<img/>标记,然后在您的视图中...

- images = @sales_pages.inject([]) do |images, sales_page|
    - images << "sales_page.images.first.image.url"

  :javascript
    $imageTag = $("img");
    $imageLink = $imageTag.parent()
    $imageTag.backstretch(#{images}, { duration: 5000, fade: 500, });
    $(window).on("backstretch.after", function (e, instance, index) {
      $imageLink.attr('href') = #{@sales_pages[index].link};
    });