在给出淡化效果后显示制表符的内容

时间:2012-06-01 14:21:16

标签: javascript css prototypejs scriptaculous

在我的页面中有许多标签,我想通过提供淡入淡出效果来显示标签的内容。为了做到这一点,我需要在淡入淡出函数后具有类名称sectionContent的tab divs为style =“display:block”。然而,当我从萤火虫看它们时,它显示为例如:

<div id="lesson-grammar" class="sectionContent" style=""> 

因此未显示选项卡。我怎样才能做到这一点?非常感谢。

new Ajax.Request(ajaxUrl,
  {
     method:'post',
     onSuccess: function(data){         
         var tmp=data.responseText;
         $$('.exercise-main .content').invoke('insert',tmp);
         $$('.exercise-main .sectionContent').invoke('setStyle','display:none');

         $('lesson-'+tab).fade({
             from:0,
             to:1,
             afterFinish: function(){
              //do the job                                     
             }
         });

     }
 });

<div class="exercise-main">
  <div class="content">
    <div id="lesson-discussion" class="sectionContent">  
     ...
    </div>
    <div id="lesson-grammar" class="sectionContent">  
     ...
    </div>
    <div id="lesson-dialogue" class="sectionContent">  
     ...
    </div>
   </div>
</div>

2 个答案:

答案 0 :(得分:0)

我相信你的风格声明不是正确的语法。试试这个:

$$('.exercise-main .sectionContent').invoke('setStyle',{display: "none"});

答案 1 :(得分:0)

让我先从您的代码和解释中了解您的问题。

您希望实现的是在ajax响应到达后隐藏所有选项卡,将响应插入新选项卡,然后以淡入效果显示它?

如果这是你的愿望,那么你可能有一个选择器问题。您正在使用$$选择器,但一个地方除外:

$('lesson-'+tab).fade({...

我认为这是问题所在。你的firefox / chrome控制台是否显示任何问题? 如果您尝试运行该怎么办:

$('lesson-'+tab)

会发生什么?您是否看到登录到控制台的正确HTML元素?

尝试这些,然后让我知道结果,我会尽力帮助。