3

在这里,我在 php 中制作了一个示例程序。其中我包含了 java 脚本并使用了日期,但我每次都得到相同的日期。让我们看看代码。

<?php
?>

<html>
<head>
    <title>my app</title>
    <script type="text/javascript" src="jquery-2.0.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            var time1=new Date();
            var time_stack=new Array();
            var time;
            $(this).mousemove(function(){
                time=time1.getSeconds();
                alert(time1);
            });
        });

    </script>
</head>
<body>
<h2>we are on the main_session</h2>
</body>
</html>

现在的问题是,当我移动鼠标时,会弹出一个警告框,并且显示的日期始终相同。请让我知道问题

4

6 回答 6

1

尝试这个

        $(document).ready(function(){
            $(this).mousemove(function(){
                var time1=new Date();
                time=time1.getSeconds();
                alert(time);
            });
        });

希望它会有所帮助

于 2013-08-01T13:15:55.237 回答
1

嗨,您应该为函数time1中的变量赋值mousemove()。像这样使用:

$(this).mousemove(function(){
    var time1 = new Date();
    var time_stack = new Array();
    var time;
    time = time1.getSeconds();
    alert(time1);
});
于 2013-08-01T13:28:46.763 回答
0

这是因为 time1 仅在页面加载时评估一次,在每个鼠标事件上,您只需获得初始化时的秒数

于 2013-08-01T13:13:07.470 回答
0

变量time1永远不会改变,Date对象是相同的,所以你总是得到相同的时间?

您必须在每次鼠标移动时更新日期,或者只获取一个新Date对象:

<html>
<head>
    <title>my app</title>
    <script type="text/javascript" src="jquery-2.0.2.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $(this).mousemove(function(){
                var time1 = new Date();
                console.log( time1.getSeconds() );
            });
        });

    </script>
</head>
<body>
<h2>we are on the main_session</h2>
</body>
</html>

小提琴

于 2013-08-01T13:13:33.177 回答
0

您实例化的 Date 对象不是秒表,当您在其上调用方法时会获取当前时间。您需要在事件处理程序中实例化一个新的 Date 对象。

alert(new Date().getSeconds());
于 2013-08-01T13:14:06.327 回答
0

有一个印刷错误: alert(time),不是time1,试试这个:

$(this).mousemove(function(){
                var time1=new Date();
                time=time1.getSeconds();
                alert(time);
            });
于 2013-08-01T13:16:05.863 回答