2013-03-08 62 views
0

问题摘要:而不是做什么的代码目前通常不会的 - 揭示内容的按钮下 - 我需要它来揭示上述内容它获取slideToggle()直接显示上面的内容,而不是下面的内容?


首先,我不是在jQuery的/ JavaScript的精通任何意义,所以如果我要求太高,以我的名义可以做到,那么请说出来和对溶液暗示。现在

,到问题:

$('.drop_down_title').click(function() { 
    $(this).next('.toggle_panel').slideToggle('slow', function() { }); 
    $(this).find('.arrow_drop_down').toggleClass('selected', function() { }); 
}); 

上面的代码工作太棒了,出现如下标题的内容(如具有多种“相关”中,你可以隐藏侧边栏/显示模块)。

不过我也计划使用相同的机械隐藏的内容部分,将是上面的按钮,像这样:

http://i.stack.imgur.com/B91DC.png

凡按钮将被点击透露更多的总结或要点。

我试着调整代码的东西,像看上去合乎逻辑:

$(this).previous('.toggle_panel') 

在它查找的页面为相关类的希望,但仍然没有骰子。

谢谢你的时间;任何意见,帮助或解决方案将不胜感激。

请求的HTML(当前工作幻灯片):

<html> 

<div class="slidebox"> 

    <div class="drop_down_title"> 
     <a class="arrow_drop_down">Button Click</a> 
    </div> 

    <div class="toggle_panel"> 
     <p>This is some example content that should be hidden when the above button is clicked!</p> 
    </div> 

</div> 
</html> 

我想要得到它,这样的div “drop_down_title” 和 “toggle_panel” 进行交换。这样内容就会显示在按钮上方。

+0

可以显示一些html吗? – Tetaxa 2013-03-08 15:05:23

+0

如果您根据元素的底部绝对定位元素,则slideToggle将为元素高度设置动画效果,因此它将从上向下制作动画,而不是从下向上制作动画。虽然,我怀疑这确实是你需要做的。我们需要看到一些html/css – 2013-03-08 15:06:45

+0

@Tetaxa添加了HTML,我希望有帮助! – InsomniaBass 2013-03-08 15:10:51

回答

1

也许.prev()是你实际需要的。不是。以前。请参阅JQuery Docs

+0

试图简单地把prev代替之前没有工作的地方。说实话,我认为这可能只是因为我对JavaScript和jQuery缺乏理解。我无法想象应该听到它揭示按钮上方的内容,而不是下面的内容。 我会在阅读他们的基础知识的同时,感谢您的建议和链接。 – InsomniaBass 2013-03-08 15:25:29

+0

为什么不能将.toggle_panel放在.drop_down_title上面并使用.prev()?如果你真的需要移动div,那么你可以使用'$(this).next()。insertBefore($(this))。slideToggle('slow',function(){});' – 2013-03-08 15:32:07

+1

Aha!我看到你刚刚发表评论,因为我正在写这个,并且还有问题!这是我的理解/知识是问题,我阅读了文档,并意识到它不是用来瞄准选择器,而是以前的兄弟姐妹(你说得对,对我来说是完美的!)。所以我所要做的就是删除选择器(让我用prev())和et瞧,它的工作!非常感谢你! – InsomniaBass 2013-03-08 15:34:07

相关问题