jQuery slideToggle()重叠页脚

时间:2016-01-19 04:20:03

标签: javascript jquery

我的HTML页面上隐藏了一个段落。单击按钮时,它将通过jQuery slideToggle()显示它。但是,当我切换段落时,它与底部的页脚重叠。当我切换(显示)段落时,如何防止这种情况并按下页脚?

application.js

$(".button").click(function(){
    var contentText = $(this);
$("#paragraph-toggle").slideToggle(1500,"linear", function(){
    if ($(this).is(":visible")) {
        contentText.text("HIDE");
    }else {
        contentText.text("VIEW");
    };
  });
});

index.html

<button>VIEW</button>
<div id="paragraph-toggle">
    <div>
       <p>Lorem ipsum dolor sit amet, consectetur adipisicing elite</p>
    </div>
</div>
<footer>
</footer>  

3 个答案:

答案 0 :(得分:0)

这是由CSS问题引起的,其中您的位置已通过使用位置进行了更改:;属性。如果您的位置是绝对的或固定的(在W3C上查看),它们不会影响页面的流量。你还需要考虑z-index,因为绝对位于最高水平,固定第二高,相对第三高,静态最低。

如果元素以错误的顺序相互浮动,请查看元素的位置,是否有溢出设置以及z索引是什么。

流量也会受到偏移(上/左/右/下)和边距(尤其如此)的影响。动画完成后,在Firebug或Chrome检查器中与它们一起玩。

您还可以调试jQuery animate函数,以查看在设置动画时有问题的元素上设置的CSS属性。然后,您可以更改样式以覆盖jQuery正在应用的一些设置。

答案 1 :(得分:0)

试试这个

 //application.js
$(".button").click(function(){
var contentText = $(this);
$("#paragraph-toggle").slideToggle(1500,"linear", function(){
if ($(this).is(":visible")) {
    contentText.text("HIDE");
    $("#footerID").hide();  //hide footer when paragraph is shown

}else {
    contentText.text("VIEW");
    $("#footerID").show();// show footer when paragraph is hide
};
 });
});


 Index.html

  <button>VIEW</button>
 <div id="paragraph-toggle">
<div>
   <p>Lorem ipsum dolor sit amet, consectetur adipisicing elite</p>
</div>
</div>
<footer id="footerID">
</footer>

答案 2 :(得分:0)

是的,这个问题是因为只有css。你的#paragraph-toggle应该是position:relative而不是position:absolute fixed