【问题标题】:Turn link to a jQuery icon将链接转到 jQuery 图标
【发布时间】:2011-07-19 01:01:36
【问题描述】:

我想将两个“投票”链接变成 jQuery UI 图标。一个是投票链接,应该是一个带有向上箭头的图标,一个是投票链接,应该是一个带有向下箭头的图标。这是链接的 RoR 代码之一:

<%= link_to "+1", video_votes_path( :video_id => video.id, :type => "up" ), :method => :post, :remote => true %>

我也想改变图标点击时的颜色,再次点击时,它应该变回原来的颜色。我该怎么做?

【问题讨论】:

  • 您要的是一个包含图标的jQuery 按钮,而不是一个jQuery 图标。您是否也在应用程序的其他地方使用 jQuery UI?你所要求的很容易通过一些 CSS 和 JS 单线实现,如果你需要按钮功能,jQuery UI 可能有点矫枉过正,特别是如果你不使用 jQuery UI。
  • 我没有在其他地方使用它...我肯定会接受 CSS 和 JS 示例作为答案。它不需要是 jQuery UI。
  • 请看下面我的建议。

标签: jquery ruby-on-rails jquery-ui icons hyperlink


【解决方案1】:

仅使用 CSS 和通过 jQuery 触摸 JS 的解决方案:

创建图标的精灵,箭头的两个版本(每种颜色一个)在彼此下方 - 例如像这样:

给你的链接类 vote 并添加一点 CSS 和 jQuery 魔法。

CSS:

// will show the upper part of the sprite by default
a.vote {
  display: block;
  text-indent: -999em;
  width: 15px;             // width of your sprite
  height: 15px;            // half the height of your sprite
  background: transparent url(your_sprite.png) no-repeat center top;
}

// will show the lower part of the sprite when toggled
a.vote.selected {
  background-position: center bottom;
}

JS:

$('a.vote').click(function(){
  $(this).toggleClass('selected');
});

【讨论】:

  • 谢谢。你如何创建自己的精灵?以及如何在按钮内获得精灵箭头?
  • 您将需要一些图像编辑软件,例如 Photoshop,例如或者尝试在网上找到一个现成的精灵。您指的是&lt;button&gt; HTML 元素吗?
  • 是的,我想我可以把它做成一个带有精灵图像的按钮,或者精灵图像可以是一个按钮。
  • 不确定我是否在关注你。 sprite 只能用作 CSS 背景图像(或者您需要实现某种遮罩)。如果您不想使用精灵,您也可以使用两个单独的 BG 图像,每个状态一个。但请注意,第二个在显示之前需要加载,这可能会在第一次单击按钮时导致闪烁。
  • 嗯,问题是我没有photoshop,也不知道如何创建这些精灵......
猜你喜欢
  • 1970-01-01
  • 2017-10-05
  • 1970-01-01
  • 2020-10-26
  • 2012-10-17
  • 2017-03-09
  • 2011-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多