javascript - rails 5 : use link_to target an mp3 (as a model object) as well as a separate div with a different attribute of the same object?

标签 javascript jquery ruby-on-rails ruby ruby-on-rails-5

这有点复杂。不确定这是否可能。我会尽力解释,如果有些事情看起来令人困惑,请询问。

我正在为乐队的专辑设计页面。 mp3 上传到 S3 存储桶,并作为模型对象保存在 RoR 数据库中。模型属性包括:标题和歌词。

我正在设计包含三个 Bootstrap 列的网站。左侧包含轨道列表,其中所有歌曲都会循环播放,并在单击一首歌曲时链接到 jQuery mp3 播放器。中间一栏放着专辑的封面。对于右列,我希望能够显示最近点击的歌曲的歌词,但我很困惑如何去做。

我尝试使用简单的 jQuery 脚本和 css 来隐藏 div 的显示,然后在单击时将其更改为 block 或内联显示。这要么显示每首歌的所有歌词,要么根本不起作用。我还考虑过用链接锚定位 div 的想法,但我不知道如何在同一链接中与 mp3 一起实现它。我想我可以通过删除网格系统并使用 float 等来完全重新设计布局,但如果可能的话,我宁愿避免这种情况。

有人能想出解决办法吗?我很困惑这应该如何运作。或者我应该完全放弃这个想法?

这是我当前的相关代码:

<div class="container-fluid">
  <div class="row">
    <div class="col-md-4 tracklist">
      <div id="sm2-container">
        <!-- SM2 flash goes here -->
      </div>
      <ul class="playlist">
      <% @album.songs.sort { |a,b| a.track <=> b.track }.each do |s| %>
        <li class="track-num">
          <%= link_to(s.audio.url) do %>
            <%= s.title %>
          <% end %>
        </li>
      <% end %>
      </ul>
    </div>
    <div class="col-md-4">
      <%= image_tag(@album.image.url, :class => 'album-cover') %>
    </div>
    <div class="col-md-4">
      <div class="row">

        <!-- I would like the following div to display the lyrics of the 
             most recently clicked song from the above div ('.playlist'): -->

        <div class="track-lyrics">
            <%= simple_format(@song.lyrics) %>
        </div>
      </div>
    </div>

  </div>
</div>

希望这不会太令人困惑。我认为一些基本的 javascript 就可以解决这个问题,但我开始怀疑这是否可能。或者也许需要进入更高级的脚本。也许就像创建一个辅助方法一样简单,而我不仅仅看到了线索。

最佳答案

动态地将歌曲 ID 放入 Div 类中。

Div 类 = "<%= Song.id %> "

默认情况下隐藏所有内容。当选择该歌曲 ID 时显示。

关于javascript - rails 5 : use link_to target an mp3 (as a model object) as well as a separate div with a different attribute of the same object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45384213/

相关文章:

ruby-on-rails - 从belongs_to动态查找父对象

javascript - 如何将正方形 div 对 Angular 分成 4 个可点击的部分?

javascript - 需要 TextBox 的 Angular 的奇怪行为

javascript - 从数据库获取文本值而不换行以使用它的javascript变量

asp.net - jQuery 是否与 ASP.NET 集成?

javascript - 使用 Javascript 过滤从 PHP 返回的项目

ruby-on-rails - Gmaps4Rails 自定义信息窗口

ruby-on-rails - Spree/Ruby on Rails 中的 Assets 路径错误

javascript - 如何使用 Javascript 隐藏 Shiny 中的操作按钮

javascript - 使用Angularfire(firebase)需要注册账号吗?