Javascript 如何让Bootstrap3在下拉单击时按下页面内容
谷歌AdSense禁止网站使用任何元素(甚至是扩展的下拉菜单)来掩盖广告,因此我正在寻找一种方法,让Bootstrap在点击下拉菜单时按下页面内容,这样排行榜就会被按下而不是被掩盖 我已经研究了stackoverflow,到目前为止,我能找到的所有问题都是如何覆盖内容而不是将其向下推。我想做相反的事情(我想这一定是Bootstrap3改变了) 我知道这是可能的,因为在网站的响应版本上,右上角的切换按钮向下推动页面内容,我希望下拉菜单能够做到: (打开此链接并缩小浏览器窗口,然后单击右上角的三行) 当菜单未折叠时,如何将该功能添加到下拉项中 谢谢大家!Javascript 如何让Bootstrap3在下拉单击时按下页面内容,javascript,css,twitter-bootstrap,Javascript,Css,Twitter Bootstrap,谷歌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'。从那里你可以抓取下拉元素,获得高度。虽然我还没试过,但理论上应该行得通。哈哈,理论并没有任何意义。试一试