首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何手动设置的活动映像?

如何手动设置的活动映像?
EN

Stack Overflow用户
提问于 2011-05-10 19:47:01
回答 2查看 719关注 0票数 0

我正在尝试使用jquery-lightbox在Rails中创建一个照片查看器。你可以在下面的图片中看到它的设计。

单击较小的图像,将选定的图像显示在上面的大空间中。如果您单击大图像,您可以查看所有图像的灯箱幻灯片,其最初上传的分辨率。

到目前为止,我已经完成了所有这些工作,但是我需要灯光盒从当前选定的图像开始,而不是总是从第一个图像开始。我尝试调用changeImage函数(返回TypeError)并更改activeImage属性(什么都不做)。

这是如何做到的呢?

下面是我正在使用的代码,这些代码目前都在我的show.html.erb中:

代码语言:javascript
运行
复制
<a href="<%= @actor.avatar.url(:large) %>" onclick="javascript:setActiveImage();" class="lightbox" title="<%= @actor.name %>" rel="actor"><%= image_tag @actor.avatar.url(:slide), :id => "actor_headshot", :alt => @actor.name %></a>

<% @actor.photos.each do |photo| %>
  <a href="<%= photo.photo.url(:large) %>" class="lightbox" rel="actor"></a>
<% end %>

<div id="actor_photos">
  <div id="actor_photo_list">
  <% @photos.each_with_index.map do |photo, index| %>
      <a href="#" onclick="javascript:swapHeadshot('<%= photo.url(:slide) %>', <%= index %>);"><%= image_tag photo.url(:thumb), :class => "actor_photo_list_item" %></a>
    <% end %>
  </div>
</div>

<script language="JavaScript">
  $('.lightbox').lightbox();

  var _am = 0;

  function swapHeadshot(source, index)
  {
    $('#actor_headshot').attr('src', source);
    _am = index;
  }

  function setActiveImage()
  {
    $('.lightbox').lightbox.activeImage = _am; // has no effect
    //$('.lightbox').lightbox({activeImage:_am}); // has no effect
    //$('.lightbox').lightbox.changeImage(_am); // returns TypeError
  }
</script>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-10 19:58:17

默认情况下,jQuery Lightbox附带prev/next按钮。您可能想看看这段代码,一个基于其中任何一个的创建函数,因为它们很可能会为您提供一个答案。

在代码中写着:

代码语言:javascript
运行
复制
$('#lightboxImage').attr('src', opts.imageArray[opts.activeImage][0])width(newWidth).height(newHeight);
resizeImageContainer(newWidth, newHeight);

我想这就是你要找的密码。

//编辑:犯了与上面的错误相同的错误,只是他已经给出了答案。

票数 1
EN

Stack Overflow用户

发布于 2011-05-10 20:00:43

changeImage听起来像函数的名称,但是您的代码是:

代码语言:javascript
运行
复制
$('.lightbox').lightbox.changeImage =(_am); //tries to change a function variable to a number

你确定不应该:

代码语言:javascript
运行
复制
$('.lightbox').lightbox.changeImage(_am); //calls the function passing a variable
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5955601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档