jQuery,隐藏div而不干扰页面的其余部分

如何解决jQuery,隐藏div而不干扰页面的其余部分

|| 考虑以下页面(伪代码
<header>
    <search>
        <form>
            <input text> <input submit>
        </form>
    </search>
    <menu>
        <ul>
            <li>File</li>
            <li>Edit</li>
            <li>Text</li>
        </ul>
    </menu>
</header>

<content></content>

<footer></footer>
页面加载时,我希望标题显示10秒,然后在接下来的几秒钟内逐渐消失。我可以做到这一点
jQuery.fn.delay = function(time,func){
    return this.each(function(){
        setTimeout(func,time);
    });
};

$(\"header\").delay(5000,function() { $(this).fadeOut(2000) });
问题是,当页眉淡出时,页面的其余部分(内容,页脚)会增加以占据页眉所占据的位置。我希望标头有点像\“ display:block \”,因为它的位置永远不会放弃。 然后,在标题淡出之后,我想将其放回mouSEOver,然后在mouSEOut上再次淡出。我尝试了以下
$(\"header\").hover(function() { $(this).show(\"slow\"); $(this).hide(\"slow\") });
但是,这似乎没有做。第一,标题跳入和跳出,并且还导致页面的其余部分向上移动。 如何达到效果?     

解决方法

        
.fadeOut()
display: none;
结尾,如果您不想这样做,请改用ѭ5((最后不会设置
display
),如下所示:
$(\"header\").delay(5000).fadeTo(2000,0);
(请注意,这使用了内置的
.delay()
函数) 您可以在此处尝试完整的演示,其悬停功能会逐渐消失并且不会引起移动,如下所示:
$(\"header\").hover(function() { 
  $(this).fadeTo(600,1); 
},function() { 
  $(this).fadeTo(600,0); 
});
    ,        在页眉周围添加一个容器,并使用
display:block
和固定的宽度/高度对其进行样式设置。当淡出标题时,容器将保留标题占用的空间。 这样,您就可以将元素绑定到
hover
事件,以便在标题消失后重新显示它。隐藏后,标头将无法接收自己的
hover
事件,因此容器必须在其位置接收它们。     ,        使用
visibility:hidden
,它将像
display:none
一样隐藏元素,但布局不会改变。 您可以使用动画功能。例如
 $(\'#header\').animate({opacity: 0},2000);

 $(\"#header\").hover(
     function() {  
       $(this).animate({opacity: 1},400);
       // you can also use one of the below
       // $(this).css(\"opacity\",\"1\"); 
       // $(this).fadeTo(400,1);
     },function() { 
       $(this).animate({opacity: 0},400);
     }
 );
您也可以使用Nick提到的
fadeTo
。 fadeTo在内部将不透明度设置为等于第二个参数。     ,        尝试将回调添加到hide函数,将其更改为hidden可见性。
$(this).hide(\"slow\",function(){
   $(this).css(\"visibility\",\"hidden\");
   $(this).css(\"display\",\"block\");
});
如果jQuery让您指定隐藏某物时是使用显示还是可见性,那将是很好的选择,但我不认为这样做。     ,        您可以将标头放在另一个标头中,然后将该div设置为与标头相同的高度。然后,如果jQuery删除了标题,它将不会影响页面。 另外,正如Lobo所说,您可以使它使用“ visible:hidden”,但我想很难强迫jQuery不将其设置为“显示”:无论如何都不显示。     ,        绝对定位标题,这样它的存在(或不存在)将不会影响其他页面元素     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?