число в базу
Здравствуйте) у меня имеется код:
<p id="dynamic-number">0</p>
<script>
var currentNumber = $('#dynamic-number').text();
$({numberValue: currentNumber}).animate({numberValue: 1000}, {
duration: 400000,
easing: 'linear',
step: function() {
$('#dynamic-number').text(Math.ceil(this.numberValue)/1000000);
}
});
</script>
Это код счетчика - увеличивается число. Как сделать чтобы была кнопка на которую нажимаешь (захватывает число) и вносит в базу? и как можно установить макс? Число должно выглядеть так 0.000001$ И как сделать чтобы после обновления страницы число не обнулялась? =) |
Цитата:
|
Цитата:
|
var o = $('#dynamic-number').on('click', function() {
//ajax запрос с отправкой o.text() серверу
//как его сделать и записать в базу знаете?
});
$({numberValue: o.text()}).animate({numberValue: 1000}, {
duration: 400000,
easing: 'linear',
step: function() {
o.text(Math.ceil(this.numberValue)/1000000)
}
});
Пропустил - а максимальное что, достижение какого-то значения text()? |
Цитата:
Ну к примеру таймер стартуйет с 0.000000 и чтобы он даходил до 0.001000 и остановился... |
Ну у вас вообще-то не таймер, а анимация, и вы уже определили в параметре ее именно 0.001000 (вернее будет 0.001), и анимация остановится.
Кнопкой можно - вот это:
var o = $('#dynamic-number').on('click', function() {
//ajax запрос с отправкой o.text() серверу
//как его сделать и записать в базу знаете?
});
заменить на это:
var o = $('#dynamic-number');
$('button').click(function() {
//ajax запрос с отправкой o.text() серверу
//как его сделать и записать в базу знаете?
});
добавив в код кнопку <button>Update</button> А прибавлением будет заниматься не кнопка, а сервер, посредством запроса к базе - 'UPDATE table_name SET field_name=field_name+полученное и обработанное значение от клиента WHERE если есть' |
Цитата:
|
Можно :)
$('button').click(function() {
$.post(url_php_скрипта, {num : o.text()}) /*если ответ сервера не нужен, то все, иначе*/, function(d) {
//d содержит ответ сервера
})
});
На сервере $_POST['num'] будет содержать отправленное клиентом значение PS. Поправка, вы определили окончание анимации при 0.001 вот здесь - numberValue: 1000 |
Цитата:
|
Цитата:
|
Гражданка Михеева, только без паники, просто я думал, что вы знаете синтаксис. Вот загрузите это на локальный сервер, обзовите как хотите и запустите - все будет тикать и возвращать вам результат.
<?
if($_POST['num']) exit($_POST['num'])
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(function() {
var o = $('#dynamic-number');
$('button').click(function() {
$.post(location, {num : o.text()}, function(d) {
alert('Сервером получено значение '+d)
})
});
$({numberValue: o.text()}).animate({numberValue: 1000}, {
duration: 400000,
easing: 'linear',
step: function() {
o.text(Math.ceil(this.numberValue)/1000000)
}
});
})
</script>
</head>
<body>
<p id="dynamic-number">0</p>
<button>Update</button>
</body>
</html>
|
Вы подправили, но не в том месте :)
|
Цитата:
alert('Сервером получено значение '); выскакивает это сообщение, а мне надо чтобы через div показывось) |
Цитата:
|
>и не пойму где php файл прописан)
Совсем плохо. Я же не знаю как вы назвали этот файл, поэтому в коде у меня обращение будет идти к текущему - $.post(location, {num : o.text()}, function(d).... Если вы его обозвали test.php, значит location равен test.php, ели назвали test.html и что важно, у вас добавлено расширение .html как исполняемый файл, значит location будет равен test.html, и обращение будет к нему. А вы что делаете? |
Цитата:
|
Откуда списывается - в базе или на клиенте в теге Р, или там и там?
Вы то в базу хоть записали? Пример мой этого не делает ) |
вот сделала
Цитата:
|
Я уже не поспеваю за вами.
заменить на $('#alert').text(d) Естественно что этот DIV должен быть на странице и если вы знаете что должно вернуть. |
Цитата:
|
А этот джентльмен document.getElementById("result") каким боком ко всему этому отношение имеет?
|
Цитата:
<div id="result"></div> (я добавила его) |
Первое - нет у вас таймера, есть таймер управляющий длительностью анимации, которую вы задаете здесь - duration: 400000
За период этой длительности число от 0 возрастает до 1000. Второе - если у вас обновляется страница (по F5 к примеру), то естественно все будет запущено заново. Этого не поправить, и если вы хотите, чтобы, к примеру, счет дошел до 0.000250 и после F5 начался с него, то предыдущее состояние (сохраненное в базе), нужно загружать в тег Р. А вы чего хотите? |
| Часовой пояс GMT +3, время: 17:47. |