如何使用bootstrap制作类似Twitter的悬停'Follow'按钮?

时间:2013-01-17 14:41:03

标签: css ruby-on-rails twitter-bootstrap

现在我有了一个按钮,我可以关注用户,或者不跟随。
现在已经跟踪了目标用户。它显示就像这样。

Un-Follow

然后没有跟踪目标用户,它就像这样显示。

Follow

我希望在目标用户被跟踪后显示“跟随” 然后,当我将鼠标光标移到按钮上时,显示应更改为“取消跟随”。

我怎么能用bootstrap做到这一点?

查看

<% if user_signed_in? %>
    <% unless user == current_user %>
      <% if current_user.following?(user) %>
        <%= link_to(unfollow_user_path(user), :remote => true, :class => 'btn') do %>
       <i class="icon-remove"></i>
       Un-Follow
     <% end %>
      <% else %>
        <%= link_to(follow_user_path(user) ,:remote => true, :class => 'btn btn-primary') do %>
        <i class="icon-ok icon-white"></i>
        Follow
        <%end%>
      <% end %>
    <% end %>
<% else %>
        <%= link_to(new_user_session_path , :class => 'btn btn-primary') do %>
        <i class="icon-ok icon-white"></i>
        Follow
        <%end%>
<% end %>

HTML

<a href="/user/1/follow" class="btn btn-primary" data-remote="true">
    <i class="icon-ok icon-white"></i>
    Follow
</a>

<a href="/user/1/unfollow" class="btn btn-primary" data-remote="true">
    <i class="icon-remove icon-white"></i>
    Un-Follow
</a>

更新:

<a href="/user/1/unfollow" class="btn" data-remote="true" onhover="someFunction()">
    <i id="Following" class="icon-remove"></i>
    Following
</a>

1 个答案:

答案 0 :(得分:1)

使用onHover事件您可以使用jQuery更改要更改文本的按钮的“class”属性。

即。

<a href="/user/1/follow"  onHover="someFunction();" class="btn btn-primary" data-remote="true">
    <i id="Following" class="icon-ok icon-white"></i>
    Following
</a>


someFunction() {
  $('i#Following').attr("class", "icon-ok icon-white").innerText("Unfollow");
}

你希望得到这张照片。

编辑: 这是应该在鼠标悬停时在someFunction中触发代码的完整代码。

<html>

<head>
<script type="text/javascript">

function someFunction()
{
 alert("Hello");
}
</script>
</head>

<body>
<a href="/user/1/unfollow" class="btn" data-remote="true" onmouseover="someFunction();return true;" >
    <i  id="Following" class="icon-remove"></i>
    Following
</a>
</body>

</html>