我尝试创建一个功能,用户可以在2个div内容之间切换:"关注者"或"待定"两个按钮始终可见。
点击"待定" Javascript无效或"粉丝"按钮。
资产/ JavaScript的/ followers.js
$(document).ready(function(){
var buttons = $("#buttons").find("a");
$("buttons").click(function() {
$(".load-pending").click(function() {
$("#followers").css("display", "none");
$("#pending").css("display", "block");
});
$(".load-followers").click(function() {
$("#followers").css("display", "block");
$("#pending").css("display", "none");
});
});
});
followers.html.erb
<div class = "container">
<div id="buttons">
<a href="#" class="load-followers">Followers</a>
<a href="#" class="load-pending">Pending</a>
</div>
<div id= "followers">
<% @followers.each do |follower| %>
<%= render 'user', user: follower %>
<% end %>
</div>
<div id="pending" style= "display:none">
<% @requested_friendships.each do |request| %>
<%= render 'user', user: request %>
<% end %>
</div>
</div>
答案 0 :(得分:0)
$("buttons").click(function()
&#39;#&#39;缺少
$("#buttons").click(function() {
答案 1 :(得分:0)
因为“.load-pending”和“.load-followers”是&lt;一个&GT;标签,你应该禁用链接的默认动作(否则它将跳转点击以哈希“#” - 页面的最顶部):
$(".load-pending").click(function(e) {
e.preventDefault();
...
$(".load-followers").click(function(e) {
e.preventDefault();
...
答案 2 :(得分:0)
你不需要这个......
$("buttons").click(function() { });
执行此操作时,您将为两个按钮分配单击事件。该click事件将为每个按钮分配新的单击事件。 (你用类选择器写的那些)。
您想要完全删除该呼叫,并将其他呼叫直接留在$(document).ready
下这是一个有效的JS小提琴...