我所要做的就是在页面上加载我的标志。我今天是新的jQuery,我无法设法淡化加载请帮忙。对不起,如果这个问题已经被回答了,我已经看了一下,并尝试调整其他答案不同的问题,但没有什么似乎工作,并开始挫败我。
谢谢。
码:
<script type="text/javascript"> $(function () { .load(function () { // set the image hidden by default $('#logo').hide();.fadeIn(3000); }} </script> <link rel="stylesheet" href="challenge.css"/> <title>Acme Widgets</title> </head> <body> <div id="wrapper"> <div id="header"> <img id="logo" src="logo-smaller.jpg" /> </div> <div id="nav"> navigation </div> <div id="leftCol"> left col </div> <div id="rightCol"> <div id="header2"> header 2 </div> <div id="centreCol"> body text </div> <div id="rightCol2"> right col </div> </div> <div id="footer"> footer </div> </div> </body> </html>
解决方法
这个线程似乎是不必要的争议。
如果您真的想正确地解决这个问题,请使用jQuery,请看下面的解决方案。
问题是“jQuery如何让图像在加载时褪色?”
首先,一个快速的说明。
这不是一个很好的候选人$(文件).ready …
为什么?因为在加载HTML DOM时文档已准备就绪。标志图像在这一点上还没有准备好 – 实际上它仍然可以下载!
所以首先回答一般问题“jQuery如何让图像在加载中褪色?” – 此示例中的图像具有id =“logo”属性:
$("#logo").bind("load",function () { $(this).fadeIn(); });
这正是问题所在。当图像加载时,它将淡入。如果更改图像的源,当新的源加载时,它将淡入。
有一个关于在jQuery旁边使用window.onload的评论。这是完全可能的。有用。可以做到。但是,window.onload事件需要特别小心。这是因为如果您多次使用它,您将覆盖以前的事件。示例(随意尝试…)。
function SaySomething(words) { alert(words); } window.onload = function () { SaySomething("Hello"); }; window.onload = function () { SaySomething("Everyone"); }; window.onload = function () { SaySomething("Oh!"); };
当然,你的代码中不会有三个onload事件如此接近。你很可能会有一个脚本做一些负载,然后添加你的window.onload处理程序来淡化你的图像 – “为什么我的幻灯片放映停止工作? – 因为window.onload的问题。
jQuery的一个很大的特点是,当你使用jQuery绑定事件时,它们都被添加。