Jquery .toggle 只显示不隐藏在 Drupal 视图中

Posted

技术标签:

【中文标题】Jquery .toggle 只显示不隐藏在 Drupal 视图中【英文标题】:Jquery .toggle only showing not hiding in Drupal view 【发布时间】:2012-04-14 14:05:49 【问题描述】:

我可以查看 drupal 中的节点。每个节点都有按钮(应该)在表格中切换一个额外的行。但是,尽管我能够打开额外的行,但我无法再次将其关闭。

这里是javascript

Drupal.behaviors.morelink = function(context) 
  $("a.morelink").click(function (e) 
    e.preventDefault();
    $('.more').hide();
    $('.more').eq( $('a.morelink').index( $(this) ) ).toggle();
  );

这是我的 node-type.tpl.php 中的按钮;

<a class="morelink" href = "<?php print url('node/' . $node->nid); ?>">
<img src="greydown.png" ALT="More"></a>

这是多余的行;

<tr class="more ">
<td> some content here</td>
</tr>

这里是css;

.more 
  display:none;

关于为什么我不能再次关闭(隐藏)的任何想法?

【问题讨论】:

【参考方案1】:

可能是因为你每次都hide 然后toggle,结果是show。即:

$('.more').hide();
$('.more').eq( $('a.morelink').index( $(this) ) ).toggle();

如果你删除hide(),你应该很好。

【讨论】:

是的!就是这样。非常感谢。

以上是关于Jquery .toggle 只显示不隐藏在 Drupal 视图中的主要内容,如果未能解决你的问题,请参考以下文章

jquery的toggle动画效果显示隐藏

jQuery Toggle 不显示和 animate.css 类

jquery单击按钮显示或隐藏

jQuery slideToggle()不显示:元素之前

jQuery新版本没有了Toggle事件,两个按钮分别控制隐藏显示,同事这两个按钮点击也要互斥。

jquery 不显示隐藏的 div 部分与 css