Javascript 如何让Bootstrap3在下拉单击时按下页面内容

Javascript 如何让Bootstrap3在下拉单击时按下页面内容,javascript,css,twitter-bootstrap,Javascript,Css,Twitter Bootstrap,谷歌AdSense禁止网站使用任何元素(甚至是扩展的下拉菜单)来掩盖广告,因此我正在寻找一种方法,让Bootstrap在点击下拉菜单时按下页面内容,这样排行榜就会被按下而不是被掩盖 我已经研究了stackoverflow,到目前为止,我能找到的所有问题都是如何覆盖内容而不是将其向下推。我想做相反的事情(我想这一定是Bootstrap3改变了) 我知道这是可能的,因为在网站的响应版本上,右上角的切换按钮向下推动页面内容,我希望下拉菜单能够做到: (打开此链接并缩小浏览器窗口,然后单击右上角的三行

谷歌AdSense禁止网站使用任何元素(甚至是扩展的下拉菜单)来掩盖广告,因此我正在寻找一种方法,让Bootstrap在点击下拉菜单时按下页面内容,这样排行榜就会被按下而不是被掩盖

我已经研究了stackoverflow,到目前为止,我能找到的所有问题都是如何覆盖内容而不是将其向下推。我想做相反的事情(我想这一定是Bootstrap3改变了)

我知道这是可能的,因为在网站的响应版本上,右上角的切换按钮向下推动页面内容,我希望下拉菜单能够做到:

(打开此链接并缩小浏览器窗口,然后单击右上角的三行)

当菜单未折叠时,如何将该功能添加到下拉项中

谢谢大家!


编辑:

下面是我根据@hsb1007的响应添加的jQuery,用于解决该解决方案:

$('.class-name-1').on('show.bs.dropdown', function () {
     $('.leaderboard').css('margin-top', 450);       
})
$('.class-name-2').on('show.bs.dropdown', function () {
     $('.leaderboard').css('margin-top', 200);       
})
$('.dropdown').on('hide.bs.dropdown', function () {
     $('.leaderboard').css('margin-top', 0);         
})

如果不知道你的网站结构,很难解释

现在从我的头顶开始,你必须把“边距/填充”放在你的内容栏上,然后按下

因为从其他方面看,当下拉菜单出现时,您的菜单会变得不稳定

使用他们基于事件的api。见下文

$('#myDropdown').on('show.bs.dropdown', function () {
     // this part will be trigged when dropdown is called

     // add margin / padding to your adsense container
})
要获得动态高度

$('#myDropdown').on('shown.bs.dropdown', function () {
     // this part will be trigged after dropdown is shown

     // Grab height of dropdown
     var height = $('.dropdown').outerHeight();
})

再说一次,我实际上没有尝试过上面的任何代码,但它应该可以工作。=)

这很有效,谢谢你。如果你不介意的话,我发布了一个关于这个问题的快速跟进:)height=$('.dropdown').outerHeight();似乎返回了下拉按钮的高度,而不是包含项目的完整导航…如果不查看站点,我很难给您提供粘贴的确切代码。但是,根据它的声音,您可以执行$('.nav').outerHeight()+$('.dropdown')。outerHeight()您可以使用显示后触发的'show.bs.dropdown'。从那里你可以抓取下拉元素,获得高度。虽然我还没试过,但理论上应该行得通。哈哈,理论并没有任何意义。试一试