2013-12-18 39 views
3

Google AdSense禁止网站使用任何元素来隐藏广告 - 即使是扩展的下拉菜单 - 所以我正在寻找一种方式告诉Bootstrap将内容单击下拉菜单时的页面,所以排行榜被推下来而不是被掩盖。如何让Bootstrap 3在下拉菜单中按下页面内容点击

我已经看过了stackoverflow,到目前为止我所能找到的所有问题都是问如何覆盖内容,并且而不是将它推下。我想做相反的事情(我认为这必须在Bootstrap 3中改变)。

我知道这是可能的,因为在网站上右上角的切换下推页面内容的响应版本,正是我想的下拉菜单做的事:

http://getbootstrap.com/examples/navbar/

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

如何在菜单未折叠时将该功能添加到下拉菜单中?

谢谢!


编辑:

这里是我添加基于@ 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);   
}) 
+1

您可以使用显示后触发的'shown.bs.dropdown'。从那里你可以抓住下拉元素,获得高度。虽然我没有尝试过,但它理论上应该起作用哈哈虽然理论并不意味着什么。给它一个镜头 – hsb1007

+0

答案更新! – hsb1007

回答

3

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

从现在开始,我们必须将“保证金/填充”放到您的内容栏中,才能被推下。

因为当下拉菜单出现时,其他方面你的菜单会变得不可思议。

使用他们的基于事件的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(); 
}) 

再次,我并没有真正尝试过的代码之上,但它应该工作。 =)

+0

这很好,谢谢。我发布了一个快速跟进的问题,如果你不介意回答它:) – Jeremy

+0

height = $('。dropdown')。outerHeight();似乎返回的下拉按钮的高度,而不是完整的导航项目... – Jeremy

+0

没有看这个网站,我很难给你确切的代码粘贴。但是,由它的声音,你可以做$('。nav')。outerHeight()+ $('。dropdown')。outerHeight() – hsb1007