отправка запроса на сервер
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
var mouseX = 0;
var mouseY = 0;
var m = new Array();
function getMouse(e){
mouseX = e.pageX;
mouseY = e.pageY;
if (mouseX < 0){mouseX = 0}
if (mouseY < 0){mouseY = 0}
m.push([mouseX, mouseY]);
return true;
}
function clearAR(){
for(i=0;i<m.length;i++){
for(j=0;j<m[i].length;j++){
m[i][j]=[];
}
}
}
</script>
</head>
<body>
<script>
$(document).ready(function(){
$(document).mousemove(getMouse); //label1
var timer = setInterval(function(){
$.post('server.php',m);
clearAR();
$(document).mousemove(getMouse);
},4000);
});
</script>
</body>
</html>
задача: нужно каждые 4 секунды отправлять на сервер координаты курсора. Если удалить label1 то програма работает только не учитывается первые 4 сек. |
Зачем так всё усложнять :)
var mouse = [0, 0];
$(function()
{
$(document).mousemove(function(e)
{
mouse[0] = e.pageX;
mouse[1] = e.pageY;
});
setInterval(function()
{
$.post('server.php', {x: mouse[0] < 0 ? 0 : mouse[0] , y: mouse[1] < 0 ? 0 : mouse[1]});
}, 4000);
});
|
оно то верно только даные записываются первы 4 секунды, а потом отправляютса с тем же интервалом, а мне нужно копить даные 4 секунды, потом отправить, онулить массив, копить в течение 4 секунд и отправить новые даные...
|
все это в хидер сунь и будет тебе счастье
<script type="text/javascript">
var mouseX = 0;
var mouseY = 0;
var coordsX = [];
var coordsY = [];
var postDATA = {'coords' : []};
function getMouse(e){
mouseX = e.pageX;
mouseY = e.pageY;
if (mouseX < 0){mouseX = 0}
if (mouseY < 0){mouseY = 0}
// 1 способ
/*coordsX.push(mouseX);
coordsY.push(mouseY);
postDATA = {x: coordsX, y: coordsY};*/
// 2 способ
postDATA.coords.push( mouseX + ',' + mouseY )
return true;
}
function clearAR(){
coordsX = [];
coordsY = [];
postDATA.coords = [];
}
$(document).ready(function(){
$(document).mousemove(getMouse); //label1
var timer = setInterval(function(){
$.post('server.php',postDATA);
clearAR();
$(document).mousemove(getMouse);
},4000);
});
</script>
|
спасибо за ответы. Я уже с етим разобрался. Считаю тему можно закрывать.
|
var mouse = [];
$(function()
{
$(document).mousemove(function(e)
{
mouse.pushState([e.pageX < 0 ? 0 : e.pageX, e.pageY < 0 ? 0 : e.pageY]);
});
setInterval(function()
{
$.post('server.php', mouse);
mouse = [];
}, 4000);
});
|
| Часовой пояс GMT +3, время: 22:30. |