2011-04-07 78 views
1

我正在使用名为TinySlideshow的javascript幻灯片(creators' page,demo)。 有没有办法判断当前索引中的哪张照片正在显示,以便我可以添加基于上下文的链接(例如,“共享此”按钮,允许某人将当前照片发送至电子邮件)查找在javascript幻灯片中显示哪张照片

I已经适应一下代码,以红宝石回形针工作on Rails的,使用一个循环:

<ul id="slideshow"> 
<%= @images.each do |image| %> 
     <li> 
      <h3><%= image.theme%></h3> 
      <span><%= image.photo.url(:large)%></span> 
      <p></p> 
      <a href=" <%= upload_image_path(image)%>"><img src="<%= image.photo.url(:thumb)%>" alt="Sea Turtle" /></a> 
     </li> 
     <%end%> 


     </ul> 

感谢您的任何建议,让我知道,如果您想了解更多信息!

+1

如果这个脚本的作者已经使用了变量名,这意味着什么(除了a,b,c,d),我可以一秒钟告诉你。 – 2011-04-07 18:35:16

回答

0

你可以做很多事情。首先,你可以简单地添加分享按钮为<li>的一部分(你真的应该使用partial呈现出这是集合的列表)

<ul id="slideshow"> 
    <%= render @images %> 
</ul> 

其次,你可以一个数据元素添加到元素,然后用javascript生成分享按钮,但我认为以前的解决方案更好,因为它不需要任何js或后期处理。

希望这会有所帮助。

0

您应该为您的图片类指定一个ID,以便您可以识别您正在处理的图片。将它附加到每个列表项目,如下所示:<li id="slideshow-image-<%= image.id %>">。关于这一点的好处在于,您在DOM中使用了slideshow-image-1slideshow-image-2之类的ID,您现在可以非常轻松地使用JavaScript进行迭代。

0

如果你知道jquery,这是我该怎么做。

获取元素ID图像的图像“src”,然后将其存储在DOM中,当您的用户共享图像时,您只需从DOM调用图像src。

的代码来获取图像 “SRC”

var image = $('#image').attr('src'); 

然后使用数据()方法来存储和检索 “源”。