我使用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英雄,所以我无法让它工作:(
提前感谢您的帮助!
答案 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};
});