Javascript 图像隐藏,然后在鼠标移动时淡入、淡出和再次淡入

Javascript 图像隐藏,然后在鼠标移动时淡入、淡出和再次淡入,javascript,jquery,fadein,fadeout,mousemove,Javascript,Jquery,Fadein,Fadeout,Mousemove,我试图让图像在3秒钟内没有鼠标动作时淡出,然后在再次移动鼠标时淡入 如果有人能告诉我如何在鼠标移动之前隐藏图像,我也会非常感激。因此,当页面加载时,直到鼠标移动,您才会看到图像 这就是我目前所拥有的 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN"> <html> <head> <title></title>

我试图让图像在3秒钟内没有鼠标动作时淡出,然后在再次移动鼠标时淡入

如果有人能告诉我如何在鼠标移动之前隐藏图像,我也会非常感激。因此,当页面加载时,直到鼠标移动,您才会看到图像

这就是我目前所拥有的

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">
    <html>
        <head>
        <title></title>
        <script type="text/javascript">
            var timer;
            $(document).mousemove(function() {
            if (timer) {
            clearTimeout(timer);
            timer = 0;
            }
            $('#top:visible').fadeIn();
            timer = setTimeout(function() {
            $('#top').fadeOut()
            }, 3000)
            })
        </script>
        </head>
        <body>
            <div id="top">
                <img src="graphics/logo/logo.psd" title="" alt="">
            </div>
        </body>
    </html>

无功定时器;
$(文档).mousemove(函数(){
中频(定时器){
清除超时(计时器);
定时器=0;
}
$(“#顶部:可见”).fadeIn();
计时器=设置超时(函数(){
$(“#顶部”).fadeOut()
}, 3000)
})

非常感谢你的帮助

我已经用一个多功能页面更新了我的答案。希望这能让事情变得更清楚。最好在自己的文件中包含javascript,但这会让您继续

确保该行:

<script type="text/javascript" src="jquery-1.4.1.min.js"></script>

使用正确的位置和名称正确地指向jQuery文件

让我知道进展如何

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>tester page</title>  

<style> 
    <!--

    -->
 </style>

<script type="text/javascript" src="jquery-1.4.1.min.js"></script>

<script type="text/javascript"> 

    $(document).ready(function() {
    var $top = $('#top');
    var $document = $(document);
    var timer = null;
    var timerIsRunning = false;

    $top.hide();

    $('#menu').mousemove(function(e){
        e.stopPropagation();
    });
    setTimeout(function() {
                        $document.mousemove(function(e) {
                                if($top.is(':hidden')) {
                                    $top.fadeIn();
                                } else {
                                    if(!timerIsRunning) {
                                        timerIsRunning = true;
                                        clearTimeout(timer);
                                        timer = setTimeout(function() { $top.fadeOut();  }, 5000);
                                        setTimeout(function() {timerIsRunning = false;}, 2000);
                                    }
                                }
                        });
                }, 500);

});

</script>
</head>
<body>
<div id="top">
   <img src="graphics/logo/logo.psd" title="" alt="">
</div>
</body>
</html>

测试页面
$(文档).ready(函数(){
变量$top=$('#top');
var$document=$(文档);
var定时器=null;
var timerIsRunning=false;
$top.hide();
$(“#菜单”).mousemove(函数(e){
e、 停止传播();
});
setTimeout(函数(){
$document.mousemove(函数(e){
如果($top.is(':hidden')){
$top.fadeIn();
}否则{
如果(!timerIsRunning){
timerIsRunning=true;
清除超时(计时器);
timer=setTimeout(函数(){$top.fadeOut();},5000);
setTimeout(函数(){timerIsRunning=false;},2000);
}
}
});
}, 500);
});
试试这个:

$(document).ready(function() {
    var timer;
    // hide initially
    $('#top').hide();

    $(document).mousemove(function() {
        if (timer) {
            clearTimeout(timer);
            timer = 0;
        }
        $('#top').fadeIn();
        timer = setTimeout(function() {
            $('#top').fadeOut();
        }, 3000)
    });
});

谢谢你的帮助,帕特里克,但我似乎没法做到:(很抱歉,我没有密切注意您的其余代码。您的html文件中是否导入了jQuery?我将在一分钟内用更彻底的解决方案更新我的答案。非常抱歉,我无法使其工作!您尝试过并使其工作了吗?非常感谢您的帮助!:)你好,劳伦斯。我确实看到我把
top
错命名为
top\u mailing
。那行应该是
var$top=$(“#top”)
。很抱歉。请尝试更改它,并让我知道它是否工作。非常感谢Patrick,它工作得非常好。我想知道有两件事是可能的。1.它是否可以开始隐藏,直到鼠标移动,而不是启动,并且只有在鼠标处于非活动状态时才会消失。2.当鼠标位于seroperate div(称为“索引包装菜单”)它也会消失。所以当它出现在页面的主要部分时,次要部分(“顶部”)仍然隐藏?非常感谢你的帮助!!!!!!!:)谢谢本,它似乎不起作用。你能告诉我你将如何在脚本中安排它,以确保它不是我这样的新手!