【发布时间】:2010-06-29 03:39:39
【问题描述】:
有没有办法在仅使用类而不使用 ID 的页面上拥有许多基于 jquery 的显示/隐藏实例(切换链接后跟具有隐藏内容的容器;切换文本根据状态更改)?我在任何地方都没有找到一个记录合理的功能示例。感谢您的帮助! --cg
【问题讨论】:
标签: jquery user-interface hide toggle show
有没有办法在仅使用类而不使用 ID 的页面上拥有许多基于 jquery 的显示/隐藏实例(切换链接后跟具有隐藏内容的容器;切换文本根据状态更改)?我在任何地方都没有找到一个记录合理的功能示例。感谢您的帮助! --cg
【问题讨论】:
标签: jquery user-interface hide toggle show
类似:
<div class="toggleset">
<a class="toggler" href="#">Hide</a>
<div class="container">
Data to show/hide
</div>
</div>
$('.toggler').click(function(evt) {
var $toggler = $(this);
var $container = $toggler.siblings('.container');
$container.toggle();
$toggler.text($container.is(':visible') ? "Hide" : "Show");
evt.preventDefault();
});
如果使用 next() 而不是兄弟,则不需要外部 div,但它将脚本与标记更紧密地联系在一起。
【讨论】:
非常感谢,罗伯。效果很好!我已经设法做到了,所以二级班级可以控制两种状态下的切换文本:
<script type="text/javascript">
<!--
$(document).ready(function() {
$('.toggler.show').click(function(evt) {
var $toggler = $(this);
var $container = $toggler.siblings('.container');
$container.toggle();
$toggler.text($container.is(':visible') ? "Show less" : "Show more");
$(this).toggleClass('active');
})
$('.toggler.read').click(function(evt) {
var $toggler = $(this);
var $container = $toggler.siblings('.container');
$container.toggle();
$toggler.text($container.is(':visible') ? "Read less" : "... Read more");
$(this).toggleClass('active');
})
evt.preventDefault();
});
-->
</script>
我将如何利用 jquery“幻灯片”切换?我尝试改变
$container.toggle();
类似
$container.slideToggle('fast');
但这会破坏切换上的文本更改。 --cg
【讨论】: