我有4个divs和4个相应的按钮。当你点击button1时,它会显示div 1并隐藏所有其他的。等等等等。而不是必须列出所有div来隐藏,我可以只隐藏所有其他divs类型的字符串吗?不隐藏页面上的每个div,但隐藏每个#div(数字)。简化此JavaScript文件的方法? jQuery显示/隐藏?
$(document).ready(function() {
var h1 = $("#div56").height();
var h2 = $("#div54").height();
var h3 = $("#div47").height();
var h4 = $("#div45").height();
$("#div56,#div54,#div47,#div45").height(… h2, h3, h4));
$("#div54,#div47,#div45").hide();
});
$("#lnk56").live('click', function() {
$("#div56").show();
$("#div54,#div47,#div45").hide();
});
$("#lnk54").live('click', function() {
$("#div54").show();
$("#div56,#div47,#div45").hide();
});
$("#lnk47").live('click', function() {
$("#div47").show();
$("#div56,#div54,#div45").hide();
});
$("#lnk45").live('click', function() {
$("#div45").show();
$("#div56,#div54,#div47").hide();
});
这是对应的HTML/PHP:
<div class="grid_5">
<?php query_posts('post_type=credits&showposts=99999'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="post">
<div class="buttons">
<a id="lnk<?php the_ID(); ?>" href="#"><h5><?php the_title(); ?></h5></a>
</div><!--/buttons-->
<?php wp_link_pages(array('before' => 'Pages: ', 'next_or_number' => 'number')); ?>
</div>
<?php endwhile; endif; ?>
</div><!--/grid_5-->
<div class="grid_7">
<div class="scrollbox">
<div id="divParent">
<?php query_posts('post_type=credits'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="info" id="<?php the_ID(); ?>">
<?php the_content(); ?>
</div>
<?php endwhile; endif; ?>
</div><!--/divParent-->
</div>
</div><!--/grid_7-->
如果您可以提供HTML,那么这会更容易 – darshanags 2013-02-15 18:09:42
您是否可以向要隐藏和显示的所有DIV添加一个类?这样,你可以隐藏所有具有该类的div,然后显示应该显示的div。 – Andorbal 2013-02-15 18:10:31
不相关,但您应该使用.on()而不是.live()。据了解,它的性能相当差。 – 2013-02-15 18:22:35