使用 jquery 根据链接单击切换 DIV 可见性
Toggle DIV visibility based on Link click using jquery
我有一个页面,其中包含一些按字母顺序排列的信息,每个开头字母有几个段落。 在该页面的顶部,我想让字母 A-Z 可点击,如果我单击其中一个字母,则只显示包含带有字母的段落的div。
例:
A B C D
<div id=A>
Amsterdam
Ankara
</div>
<div id=B>
Brussel
Budapest
</div>
<div id=C>
Calgary
Cairo
</div>
我找到了一些样本,但是每个字母都有一个脚本函数,我只需要一个函数来识别选择了哪个字母,隐藏所有div A-Z 并显示单击的字母的div。
感谢您的任何提示!
有一个公共类来存储你的链接(我会用letterLink
)以及你的div(我会用letterDiv
)。
$("a.letterLink").click(function() {
$(".letterDiv").hide();
var letter = $(this).text();
$("#" + letter).show();
});
这里有一些提示:
- 每个字母
都必须是一个链接,这意味着您必须将每个字母包装在标签中。如果你真的愿意,你可以用JavaScript或手动做到这一点。
将您的div id 括在引号"标记中以满足某些标准。
在每个div 上放置一个可显示的类。
在每个链接上放置一个类(或将div 环绕在特定类的链接周围并使用事件委托,请参阅 http://www.sitepoint.com/event-delegation-with-jquery/
使用 jQuery 将侦听器附加到链接类。
在侦听器中,检测单击了哪个字母(根据您对步骤 4 的方法而有所不同。
隐藏所有可显示的div。
显示 id 为已单击字母的div。
没有代码,所有的提示。
由于您使用的是jQuery,因此这可能很容易:)只需为所有字母类别提供一个特定的类,如class="category",然后使用jQuery隐藏它们,并给定一个传递的对象集,它显示回块。
$("a.categoryLink").click(function() {
$(".category").hide();
var letter = $(this).text();
$("#" + letter").show();
});
我对数据属性有轻微的痴迷,所以更喜欢这种方法。
.HTML:
<div class="links">
<a href="#">A</a>
<a href="#">B</a>
</div>
<div data-letter="A">
Aadvark
Apple
</div>
<div data-letter="B">
Banana
Bermuda
</div>
j查询:
$(".links a").click(function(){
$("[data-letter]").hide();
var letter = $(this).text();
$("[data-letter="+letter+"]").show();
});
这是一个很好的方法。
将您的信件链接放在一个容器中。 A B C D...
向div 添加类
<div id='A' class='content'>
向容器添加点击事件而不是字母(1 与 26)
// cache the collection
var content_divs = $('.content');
$('#letters').on('click', 'a', function() {
$(content_divs).hide();
var letter = $(this).text();
$('#' + letter).show();
});
首先,感谢所有以富有成效的方式做出回应的人。谢谢。
其次,这就是我想出的:http://jsfiddle.net/RMra8/
$(document).ready(function () {
$('#divSelect a').click(function (e) {
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (var i = 0; i < str.length; i++) {
var nextChar = str.charAt(i);
$('#' + nextChar).fadeOut();
}
var txt = $(e.target).text();
$('#' + txt).delay(400).fadeIn();
});
});
- D3在一个调用中绘制不同的SVG形状,没有可见性
- jQuery css可见性在load方法中不起作用
- 页面可见性API实际上支持操作系统屏幕锁定吗
- 有没有一种方法可以从隐藏的可见性(CSS,JS)中获得淡入效果
- JavaScript可见性不起作用('隐藏'起作用,'可见'不起作用)
- 当Div可见时使用Javascript
- 从内部回调的可见性
- Openlayers 3为了可见性而绑定到Vector层的复选框没有任何作用
- 需要切换2个DIV的DIV可见性
- 如何切换DIV元素的可见性
- 滚动上的交替 DIV 可见性
- 如何根据另一个 DIV 内容的可见性显示 DIV 内容
- 无法手动将 DIV 元素上的可见性设置为 true.“TH:IF”问题
- 使用 jquery 根据链接单击切换 DIV 可见性
- 根据选择框更改 DIV 可见性
- 在gridview事件处理程序中切换DIV可见性的代码不工作
- 当次要Div '的可见性被设置为'none'时,如何改变Div对齐方式
- 用JavaScript改变DIV可见性
- javascript中的Div可见性
- 切换DIV's的可见性点击