将类更改为links,并且只允许其中一个处于活动状态或非活动状态
Change class to links and only allow one to be either active or inactive
在我的Rails 3应用程序中,我有一个包含三个链接的<ul>
,当单击时,将相应的部分加载到下面的<div>
中。我想使用一些JavaScript/jQuery来检测哪个部分被加载。这样,我就可以将<a href>
的类更改为active
或inactive
,以实现样式化目的。
<div id="tabs">
<ul id="infoContainer">
<li><%= link_to "Reviews", profile_reviews_profile_path, :class => 'active', :remote => true %></li>
<li><%= link_to "About", profile_about_profile_path, :class => 'inactive', :remote => true %></li>
<li><%= link_to "Credits", profile_credits_profile_path, :class => 'inactive', :remote => true %></li>
</ul>
<div id="tabs-1">
<%= render :partial 'profile_reviews %> #default
</div>
</div><!-- end tabs -->
任何帮助都将是非常感激的。
UPDATE我使用这个代码,它的工作,但是,如果我点击第一个链接,它不再鞋我不能从非活动切换到活动。其他两个效果很好。
$(function(){
$("a.inactive").click(function() {
$(".active").not(this).toggleClass("inactive active");
$(this).toggleClass("inactive active");
});
});
你可以在JS中设置一个额外的点击事件。它需要在页面加载时运行:
$(document).ready(function() {
$("#tabs > ul a").click(function(){
$this = $(this)
$this.siblings(".active").toggleClass("active")
$this.addClass("active"
})
});
这也适用于任何其他具有相同结构的#tabs
在你的应用程序。从记忆中,我不相信这会影响:remote => true
的功能在任何方面。
我从另一个问题中得到了答案:
$(function(){
var sidebar=$('#sidebar');
sidebar.delegate('a', 'click',function(){
sidebar.find('.active').toggleClass('active inactive');
$(this).addClass('active').removeClass('inactive');
});
});
相关文章:
- 在Angular 2中布线期间保持零部件处于活动状态
- 如何使bxslider仅在移动视图中处于活动状态
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 使用纯javascript而非jquery使所选选项卡处于活动状态并保持非活动状态
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- 返回上一页时,Javascript仍处于活动状态
- 创建一个复选框按钮的散列,这些按钮在单击时在Twitter Bootstrap Button组中处于活动状态
- 当一个复选框处于活动状态时,禁用所有复选框
- 仅在一个窗口中播放声音,该窗口使用javascript(可能是jquery)处于活动状态(在一个网站内)
- 确保一次只运行一个 setTimeout(处于活动状态)
- 当另一个元素处于活动状态时,jQuery会更改该元素的css
- 当某人在页面上时,保持一个:处于活动状态
- 我想在从下拉列表中选择其他选项时激活一个文本框,否则它将保持不活动状态
- 我想要一个动画触发活动,并继续一旦活动状态消失
- 如何使用JQuery使一个类同时处于活动状态
- 悬停保持活动状态,直到鼠标移到另一个悬停对象上
- 将类更改为links,并且只允许其中一个处于活动状态或非活动状态
- 我做了一个自行车2幻灯片.我想在滑块中的特定图像处于活动状态时触发JQuery函数
- 当选择另一个TD课程时,TD课程保持活动状态
- Jquery cookie 仅在一个站点上处于活动状态