число в базу
Здравствуйте) у меня имеется код:
<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, время: 01:42. |