Jump to content
  • 0

Циклическое нажатие кнопки.


bigbot
 Share

Question

Recommended Posts

  • 0

Вариантов много и без JS, например:

- сделать анимированный GIF с нажимаемой кнопкой;

- то же самое, но на Флэше.

Сама кнопка нажиматься не будет, вызывай нужную функцию через setTimeout.

Link to comment
Share on other sites

  • 0
Вариантов много и без JS, например:

- сделать анимированный GIF с нажимаемой кнопкой;

- то же самое, но на Флэше.

Сама кнопка нажиматься не будет, вызывай нужную функцию через setTimeout.

Хммм... не пользовался ею.

Не затруднит привести пример кода?)

Link to comment
Share on other sites

  • 0

Ничего она не лишняя. А код и правда не работает. Я налажал страшно в этом коде, а все потому, что написал его по быстрому от балды и даже не опробовал. Вот такой вот из меня советчик липовый...

UPD: Я исправился, вот рабочий (проверенный <_< ) код:

function submitMyForm() {
var form = document.getElementById('myForm');
form.submit();
}

window.onload = function() {
setInterval(submitMyForm, 30000);
}

Edited by Great Rash
Link to comment
Share on other sites

  • 0

Вот теперь - не лишняя <_< А в том примере все же вместо

document.body.onload = function() {
submitMyForm();
}

можно было написать проще:

window.onload = submitMyForm;

Хотя в твоем коде последнем лишняя переменная. Не стоит мусорить (либо если мусоришь - привыкай убирать за собой) и тратить бездумно ресурсы, если можно ф-цию submitMyForm переписать так:

function submitMyForm() {
document.getElementById('myForm').submit();
}

Link to comment
Share on other sites

  • 0
Не стоит мусорить (либо если мусоришь - привыкай убирать за собой)

Наоборот, не стоит излишне упрощать код в ущерб читабельности.

Я, например, почти никогда не пишу:

i < j ? i : j;

если можно написать через if/else

Link to comment
Share on other sites

  • 0
var form = document.getElementById('myForm');

form.submit();

Такой вариант во много раз лучше, так как к форме возможно понадобиться обращаться не один раз и не только за сабмитом. Вот для этого и используются переменные в таких случаях.

Edited by Nekromancer
Link to comment
Share on other sites

  • 0
Выбор твой. Но для production-версий я рекомендую жертвовать всем, что только можно, ради быстродействия и легкости.

К чему такое крохоборство? В продакшин версии я рекомендую делать так, чтобы потом было понятно, как это работает. Чтобы было легко менять.

Вот эта запись имеет смысл

document.body.onload = function() {
submitMyForm();
}

Потому что добавить еще одну функцию в обработчик намного проще, чем заново переделывать document.body.onload = submitMyForm.

Да и когда придется добавить обработчику параметров, начнется веселье.

Link to comment
Share on other sites

  • 0

Nekromancer, s0rr0w:

Я с вами согласен, но я считаю, что следует программировать (в данном случае и это касается только js) под конкретную задачу: если у нас пока что нет других функций, то анонимная и не нужна; если нам не потребовалось обращаться к переменной дважды, то она и не нужна. Ведь ее всегда можно будет добавить, если она действительно нужна. По поводу понятно. Это другой вопрос уже. Но мне кажется стоит учить язык лучше, а не нагромождать его лишними переменными.

И, друзья, не нервничайте! Поверьте, мне абсолютно плевать как Вы реализуете эту задачу, я лишь высказал свое мнение. А прислушиваться к нему или нет - дело каждого из вас.

Link to comment
Share on other sites

  • 0
И, друзья, не нервничайте! Поверьте, мне абсолютно плевать как Вы реализуете эту задачу, я лишь высказал свое мнение. А прислушиваться к нему или нет - дело каждого из вас.

а мне не плевать..

Я всегда программирую или верстаю на будующее, мало ли что, так гораздо проще, я лучше напишу один скрипт на хинт который будет автоматически выискивать текст для элемента над которым он находится, чем сейчас просто для одного элемента пропишу хинт, потому что мне сейчас он нужен только над одним.

Если не делать свой код универсальным, то лучше его не делать вообще.

Link to comment
Share on other sites

  • 0

Универсальным должен быть продукт, а не код.

То есть ты пишешь плагин, именно он и должен быть рассчитан на улучшения. А его внутренний код должен быть рассчитан строго под него.

Как ты думаешь, борьба, которая ведется среди разработчиков ныне популярных фрейморков за несколько килобайт кода - это тоже мелочность?

Link to comment
Share on other sites

  • 0

Причём тут фреймворки? тебе говорят что код твоего продукта должен быть универсальным для его дальнейшей обработки.. а ты мне тут выдаёшь.. код фрэйворков универсален на выходе, когда с ним работает юзер.

Универсальным должен быть продукт, а не код.

Если ты можешь написать нормальный код, то и продукт будет соответствующий.

Как ты думаешь, борьба, которая ведется среди разработчиков ныне популярных фрейморков за несколько килобайт кода - это тоже мелочность?

var form = document.getElementById('myForm');
form.input1.value = '124324';
form.input2.value = '124324';
form.input3.value = '124324';

весит меньше чем..

document.getElementById('myForm').input1.value = '124324';
document.getElementById('myForm').input2.value = '124324';
document.getElementById('myForm').input3.value = '124324';

Edited by Nekromancer
Link to comment
Share on other sites

  • 0

Чего ты мне в пример приводишь совсем другой код. В таком случае естественно что ни к чему массовое обращение к DOM дереву, а следует пользоваться кешем. Но тут-то был другой случай. Конкретный, когда обращение одно. Тогда и не нужно делать лишнюю переменную.

А, как ты говоришь, "код моего продукта", (хотя продукт из одной строчки, хм...) должен быть универсальным. Так чем он не универсален-то?

Ты просто сравни по быстроте то что ты придложил, и то что я. Да, разница будет на сотые миллиарды миллионов миллисекунд ( =) ), но все же... Стоит приучать себя изначально писать менее затратно, чтобы при написании кода из 1000 таких строчек не создавать 1000 лишних переменных.

Link to comment
Share on other sites

  • 0
Конкретный, когда обращение одно.

Чё тупишь? сейчас - одно, потом возможно будет больше. Надо думать а будущее.

Ты же не видел весь код человека, возможно он уже работает с этой формой, так что для него использование переменной лучший вариант сокращения кода.

Link to comment
Share on other sites

  • 0

Nekromancer, "тупишь" ты будешь говорить кому-нибудь другому. Мне так говорить тебе не позволю. Либо умей достойно спорить, либо не спорь вовсе.

Если я не видел весь код человека, это лишь его проблемы. Я оперирую тем, что мне известно, а не тем, что я выдумываю. Как любой разумный человек. А уж коли мы говорим о "мыслях в будущее", давай тогда заведем еще 5 миллионов переменных, вдруг они в будущем нам помогут?

Ты хоть сам понимаешь, какую глупость говоришь?

Link to comment
Share on other sites

  • 0

Я понимаю, что говорю, но это совсем не глупость. Тебя убеждать себе дороже.

Если я собираюсь в будущем работать с этим объектом, то я создаю для него переменную. Хоть сейчас он мне нужен единожды, я понимаю что он мне ещё пригодится.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy