jquery javascript onclick SlideDown面板

时间:2016-04-29 13:02:43

标签: javascript jquery html twitter-bootstrap

这里有关于bootsnipp的代码:http://bootsnipp.com/user/snippets/2pvGr

我正在尝试使用面板链接导航栏的元素。我想拥有以下功能:

点击导航栏上ID为'xxx'的元素后,ID为“yyy”的面板会被取消(slideDown())

我不知道怎么回事..

(#osPartner-navbar)是导航栏下拉列表中按钮的ID。

您可以查看更新的JavaScript ...

任何人都有想法,如何完成这项工作?

PS:另一个小细节..我希望面板的初始位置是“滑动”。因此,当我单击父面板并向下滑动时,两个子面板都会向上滑动(关闭),用户必须单击它们才能向下滑动。如果有人也有解决方案,那么将它作为加号会很好。

3 个答案:

答案 0 :(得分:3)

替换

var $this = (document).getElementById('osPartnerUebersicht');

var $this = $('#osPartnerUebersicht');

hasClass是一个jQuery函数,所以你需要jQuery对象。

getElementById将返回dom元素。

答案 1 :(得分:0)

不确定这是否有帮助但是你的JS几乎没有我注意到的错误,但你没有给出任何人正确帮助所需的完整HTML,但看看这个:

新:

.on('filtered', function(chart, filter){...})

instead of using $(document).on use $("#osPartner").on("click", func..)

这是JSFiddle链接: https://jsfiddle.net/o8yqpefv/

答案 2 :(得分:0)

 document.getElementById('contents'); //returns a HTML DOM Object

 var contents = $('#contents');  //returns a jQuery Object

在jQuery中,要获得与document.getElementById相同的结果,您可以访问jQuery Object并获取对象中的第一个元素(记住JavaScript对象的行为类似于关联数组)。

var contents = $('#contents')[0]; //returns a HTML DOM Object

所以你需要在下面使用

var $this = $('#osPartnerUebersicht');