在页面加载上更改元素可见性

时间:2009-12-13 05:48:43

标签: javascript jquery fade

好的,对于那些看过新Google页面的人,我试图在我自己的网页上找到类似的想法。基本上,我希望中间的图像在屏幕上移动鼠标时淡入。这是URL:

http://mageia.rh.rit.edu/

这是我用来获得大部分影响的Jquery:http://hv-designs.co.uk/2009/01/19/jquery-fade-infade-out/

但是,正如您可能知道的那样,图像会加载然后淡出。我想要发生的是在移动鼠标之前根本看不到图像,就像在Google网页上一样。我想到的可能是通过javascipt和CSS改变图像的可见性,但我不知道如何去做。我们将不胜感激!

2 个答案:

答案 0 :(得分:3)

CSS:

div.fade_in { display: none; }

您可以在页面加载时淡入:

$(function() {
  $("div.fade_in").fadeIn();
});

如果您想等待鼠标移动:

function fade_in() {
  $("div.fade_in").fadeIn();
  $("html").unbind("mousemove", fade_in);
}

$("html").mousemove(fade_in);
在IE8(兼容模式),FF3.5和Chrome 3中测试

编辑

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://mageia.rh.rit.edu//resources/main.css" /> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
function fade_in() {
  $("div.fade_in").fadeIn();
  $("html").unbind("mousemove", fade_in);
}

$(function() {
  $("html").mousemove(fade_in);
});  
</script>
<style type="text/css">
div.fade_in { display: none; }
</style>
</head>
<body>
<h1 class="centertext">Welcome to Mageia</h1> 
<h3 class="centertext">The Works of Genii</h3> 
<div id = "container" class="fade_in" > 
<img class="image1" src="http://mageia.rh.rit.edu/resources/Escher.gif" /> 
</body>
</html>

答案 1 :(得分:0)

对于CSS:

imageID{opacity:0.0;filter:alpha(opacity=00)}

这确保在加载JS之前不显示图像。

对于Javascript:

$(document).ready(function(){
    $("imageID").fadeIn("slow"3);
});

这会将不透明度从0更改为1.

干杯!