Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2018, 23:19
Аспирант
Отправить личное сообщение для Dyec Посмотреть профиль Найти все сообщения от Dyec
 
Регистрация: 09.01.2018
Сообщений: 32

Почти доделал скрипт автообновления. Нужна помощь.
Привет всем. Строго не судите, я новичок в JS и это первый скрипт мой, работал давно с PHP и HTML. Возник ряд вопросов, один из них главный - это как заставить скрипт работать автономно после ввода секунд? Пробывал применять sessionStorage, но что-то не выходит. Работает как разовый таймер.

Второй вопрос, как сделать стоп таймера, ну и третий не очень важный пауза по нажатию на таймер. Вот собственно 5кб кода:
// ==UserScript==
// @name        Autorefresh
// @author      Dyec
// @version     1.0
// @date        2018-01-19
// ==/UserScript==

if(!self.parent.frames.length)  {


  var sec = "5"; // секунд

function askSeconds() {
  var age = prompt('Время в секундах (2-180):', sec);

if(!age) {
  callback();
//alert('Пустое значение!');
}
else if(age < 2) {
  alert('Слишком мало! Минимум 2 секунды!');
}
else if(age > 180) {
  alert('Слишком много! Максимум 180 секунд!');
} else {

 var second = age;
 var ag = '1';

 }


if(ag='1') {

function traySec()
        {
          
if(second<=9) {
  second='0' + second; }

if(document.getElementById) {
  timer.innerHTML=second; }

if(second==00) {
return false; }

second--;

setTimeout(traySec, 1000);
}

 function trayInfo() {

var d = document;
var e = d.createElement('button');
e.style.cssText = 'font-size: 10pt; position: fixed; top: 135px; left: 0px; height: 32px; width: 38px; background: #e3e8e1; border-radius: 0 4px 4px 0; border: 1px solid gray; z-index: 9999; opacity: 0.9; filter:alpha(opacity=90);';
d.documentElement.appendChild(e);
e.innerHTML = '<big><big><b><font color="black"><span id="timer"></span></color></b></big></big>';
e.onclick = function() {

//пауза traySec
     }
   }

trayInfo();
traySec();

function refresh() { 
location.reload();
}
setInterval(refresh, age*1000);

}

}//закрытие askSecond


function autorefresh() {
  var d = document;
  var e = d.createElement('button');
e.style.cssText = 'font-size: 10pt; position: fixed; top: 100px; left: 0px; height: 32px; width: 38px; background: #e3e8e1; border-radius: 0 4px 4px 0; border: 1px solid gray; z-index: 9999; opacity: 0.9; filter:alpha(opacity=90);';
d.documentElement.appendChild(e);
e.innerHTML = '<big><big><b><font color="black">↻</color></b></big></big>';
e.onclick = function() {

askSeconds();

stopautorefresh();

    }
  }
autorefresh();

function stopautorefresh() {
  var d = document;
  var e = d.createElement('button');
e.style.cssText = 'font-size: 10pt; position: fixed; top: 100px; left: 0px; height: 32px; width: 38px; background: #e3e8e1; border-radius: 0 4px 4px 0; border: 1px solid gray; z-index: 9999; opacity: 0.9; filter:alpha(opacity=90);';
d.documentElement.appendChild(e);
e.innerHTML = '<big><big><b><font color="black">X</color></b></big></big>';
e.onclick = function() {
//stop

    }

}

А вот и скрины как это выглядит!
Правда на некоторых сайтах кнопка стоит на месте и не прыгает вместе с прокруткой.
Изображения:
Тип файла: jpg shot_597_2018_01_18.jpg (10.1 Кб, 5 просмотров)
Тип файла: jpg shot_598_2018_01_18.jpg (12.7 Кб, 4 просмотров)
Тип файла: jpg shot_599_2018_01_18.jpg (10.5 Кб, 5 просмотров)

Последний раз редактировалось Dyec, 19.01.2018 в 18:42. Причина: тишина((
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2018, 01:10
Аспирант
Отправить личное сообщение для Dyec Посмотреть профиль Найти все сообщения от Dyec
 
Регистрация: 09.01.2018
Сообщений: 32

61 просмотр и тишина. Вымер форум чтоли?
Ответить с цитированием
  #3 (permalink)  
Старый 25.01.2018, 06:06
Аспирант
Отправить личное сообщение для Dyec Посмотреть профиль Найти все сообщения от Dyec
 
Регистрация: 09.01.2018
Сообщений: 32

сократил код:
if(!self.parent.frames.length)  {

  var d = document;
  var e = d.createElement('button');
  var setCss = 'font-size: 10pt; position: fixed; left: 0px; height: 32px; width: 38px; background: #e3e8e1; border-radius: 0 4px 4px 0; border: 1px solid gray; z-index: 9999; opacity: 0.9; filter:alpha(opacity=90); ';
  var blackA = '<big><big><b><font color="black">';
  var stopX = '&#10006;';
  var refO = '&#8635;';
  var blackB = '</color></b></big></big>';
  var sec = "5"; // секунд

function askSeconds() {
  var age = prompt('Время в секундах (2-180):', sec);

if(!age) {
  callback();
//alert('Пустое значение!');
}
else if(age < 2) {
  alert('Слишком мало! Минимум 2 секунды!');
}
else if(age > 180) {
  alert('Слишком много! Максимум 180 секунд!');
} else {

 var second = age;
 var ag = '1';

 }


if(ag='1') {


function traySec()
        {
          
if(second<=9) {
  second='0' + second; }

if(document.getElementById) {
  timer.innerHTML=second; }

if(second==00) {
return false; }

second--;

setTimeout(traySec, 1000);
}

 function trayInfo() {
var e = d.createElement('button');
e.style.cssText = setCss+'top: 135px;';
d.documentElement.appendChild(e);
e.innerHTML = blackA+'<span id="timer"></span>'+blackB;
e.onclick = function() {

//пауза traySec
     }
   }

trayInfo();
traySec();

function refresh() { 
location.reload();
}
setInterval(refresh, age*1000);

  }

}//закрытие askSecond


function autorefresh() {

e.style.cssText = setCss+'top: 100px;';
d.documentElement.appendChild(e);
e.innerHTML = blackA+refO+blackB;
e.onclick = function() {

askSeconds();

stopautorefresh();

    }
  }
autorefresh();

function stopautorefresh() {

e.style.cssText = setCss+'top: 100px;';
d.documentElement.appendChild(e);
e.innerHTML = blackA+stopX+blackB;
e.onclick = function() {
//stop
    }
  }

}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как скопировать скрипт с переадресующей страници ramisa Элементы интерфейса 9 09.07.2013 23:59
Скрипт в скрипт :) Sakyra Общие вопросы Javascript 6 22.05.2013 09:58
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07