Saratov64,
нужна глобальная видимость для timer |
Цитата:
Цитата:
вообщем я сформулировал свое меню. Как оно должно работать. И так, у меня есть три - или n.... ссылок для примера три. Я хочу нажать первую, идет опрос датчика раз в 6 секунд, (устанавливаю глобальную переменную в значение = 1), как только я нажимаю вторую ссылку, то меняется значение первой, и запускается clearInterval(timer); и запускается опрос второй ссылки, ну и так далее. Это по моей теории, конечно, опять же если я правильно для себя ставлю задачу, но реализация пока не получилась, поправьте мой код, пожалуйста ... <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style>
<script>
var i=0; // устанавливаем первое значение ГЛОБВЛЬНОЙ переменной
alert (i); //вывод текущего значения переменной
timer;
function allstation(){
var i = 1;
alert ("allstation");
if (i==1){
timer = setInterval(allstation, 6000);
} else {
clearInterval(timer);
}
}
function st1(){
var i = 2;
alert ("st1");
if (i==2){
timer = setInterval(st1, 6000);
}else{
clearInterval(timer);
}
}
function st2(){
var i = 3;
alert ("st2");
if (i==3){
timer = setInterval(st2, 6000);
}else{
clearInterval(timer);
}
}
</script>
</head> <body> <a href="#" onclick="allstation();">allstation</a> <br> <a href="#" onclick="st1();">st1</a> <br> <a href="#" onclick="st2();">st2</a> </body> </html> |
Saratov64,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Цитата:
|
Цитата:
|
Saratov64,
попробуйте описать алгоритм того что хотите сделать |
Цитата:
есть БД. В нее пишутся данные с датчиков. Нужно для мониторинга по каждому датчику смотреть ТЕКУЩИЕ -МГНОВЕННЫЕ ДАННЫЕ которые должны отображаться на мониторе так же онлайн. Человек нажимает на 1 ссылку, и смотрит показания параметров 1го датчика, и они у него отображаются раз в 6 секунд. к каждой ссылке привязан PHP запрос SELECT * FROM dbo.test 1 ссылка - 1й датчик 2 ссылка -2й датчик 3 ссылка ...... ... .. 7 ссылка - 7й датчик Потом допустим ему нужно показания второго датчика мониторить, он нажимает на вторую ссылку, и прирывается выполнение опроса первой ссылки. А как это реализовать, я придумал, только через условие if |
Saratov64,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
window.addEventListener("DOMContentLoaded", function() {
var btn = document.querySelectorAll(".btn");
btn[0].addEventListener("click", function() {
clearInterval(timer);
timer = setInterval(station1, timeInterval)
});
btn[1].addEventListener("click", function() {
clearInterval(timer);
timer = setInterval(station2, timeInterval)
});
function station1() {
document.querySelector("#main").innerHTML += "1111 "
}
function station2() {
document.querySelector("#main").innerHTML += "2222 "
}
var timeInterval = 1E3;
var timer = setInterval(station1, timeInterval)
});
</script>
</script>
</head>
<body>
<div id="main"></div>
<input class="btn" name="" type="button" value="fn1">
<input class="btn" name="" type="button" value="fn2">
</body>
</html>
|
<script>
window.addEventListener("DOMContentLoaded", function() {
var btn = document.querySelectorAll(".btn");
btn[0].addEventListener("click", function() {
clearInterval(timer);
timer = setInterval(station1, timeInterval)
});
</script>
Я тока с сентября начал изучать, и Вы, мне приводили уже в пример, конструкцию данную, она НЕ заработала в IE, мне бы сделать, для IE самое главное. Я почитал, и как понял что window.addEventListener("DOMContentLoaded", function() в IE может не работать. На этом сайте, нашел Событие DOMContentLoaded не поддерживается в IE8-, но почти все фреймворки умеют его эмулировать. Если нужна отдельная функция только для кросс-браузерного аналога DOMContentLoaded – можно использовать jquery.documentReady.js. |
Цитата:
|
| Часовой пояс GMT +3, время: 23:48. |