Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
<script> var i=0; arrGif=["fon/proekt1.jpg", "fon/proekt1.2.jpg"]; window.onload=function(){ setInterval(fn,1000); } function fn(){ document.getElementById("im").src=arrGif[i]; i++; if(i>1)i=0; } </script> <script> var i=0; arrGif=["fon/proekt2.jpg", "fon/proekt2.2.jpg"]; window.onload=function(){ setInterval(fn2,1000); } function fn2(){ document.getElementById("im2").src=arrGif[i]; i++; if(i>1)i=0; } </script> У меня написан такой скрип для двух таблиц, в каждой из которых должна меняться картинка, но меняется только во второй, а первая не работает. Что исправить надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 12:46 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
vcsdvdsvsdЧто исправить надо?записать в одном скрипте - это может навести на мысли . i, arGif - общие для "обоих" скриптов (ибо в реальности скрипт - один, просто порезан на две части) да и обработчик onload - тож один достаточно иметь одну функцию и в ней переключать обе картинки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2016, 14:49 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
vcsdvdsvsd, Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. немножка доработал твой скрипт. проверь щас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 00:30 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
vcsdvdsvsd, Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. ещё забыл кое что. красным выделены добавления/изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 00:37 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
vcsdvdsvsd, Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. а ещё лучше Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Если нигде не ошибся должно работать :) (не проверял) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 03:49 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
Програмёрvcsdvdsvsd, Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. а ещё лучше Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Если нигде не ошибся должно работать :) (не проверял) первые картинки появляются, а потом значок, показывающий, что нету картинки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 12:40 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
vcsdvdsvsd, хм... не любит js в виде ключей массива использовать true/false :) Не знал... думал он их к числам приведёт. Ну тогда так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. На этот раз проверил. Работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 17:10 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ПрограмёрНе знал... думал он их к числам приведёт. матчасть изучай. obj[1] = obj[1] ^ 1; - образец говногода обобщи на N картинок - и увидишь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 22:02 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрНе знал... думал он их к числам приведёт. матчасть изучай. obj[1] = obj[1] ^ 1; - образец говногода обобщи на N картинок - и увидишь тут нет N картинок. А код должен быть максимально понятным. В случае с переключением между двумя состояниями (картинками) этот вариант самый понятный (то есть если включено - выключаем, если выключено - включаем)! Если состояний станет больше двух, то разумеется этот код следует переписать, но опять же так, что бы он был максимально понятен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2016, 23:04 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
Програмёрно опять же так, что бы он был максимально понятен. если значение логическое - лучше щёлкать true/false, чем битом манипулировать напоминает старую байку - "как изменить значение переменной i 1 на 2, а 2 на 1" ответ математика 3-i ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 00:54 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрно опять же так, что бы он был максимально понятен. если значение логическое - лучше щёлкать true/false, чем битом манипулировать напоминает старую байку - "как изменить значение переменной i 1 на 2, а 2 на 1" ответ математика 3-i Дык true/false и щёлкал. Но для использования как ключ массива его надо к числу приводить. Не знаю как другим, а мне это не удобно (слишком много преобразований для банального вкл/выкл). В то же время операция A ^ 1 у меня ассоциируется с включением-выключением некого флага (переключателя) ну и в общем случае операция A ^ B ассоциируется с "изменить состояние всех переключателей в A, отмеченных в B единицей" Но вообще это не настолько принципиальное изменение, потому не вижу смысла спорить на эту тему. Кому как удобнее, так пускай и пишет эти 1-2 строки кода :) Я много более значимых правок в код автора внёс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:28 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрно опять же так, что бы он был максимально понятен. если значение логическое - лучше щёлкать true/false, чем битом манипулировать напоминает старую байку - "как изменить значение переменной i 1 на 2, а 2 на 1" ответ математика 3-i А оригинальная задача так и звучит? Я честно такой не слышал... Обычно звучит задача "как поменять местами значения целочисленных переменных A и B". И тут никакое "отнять от 3" не прокатит. Но даже при этом, чем 3 - i лучше чем i ^ 3? При указанной формулировке задачи - вообще ничем. Разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:34 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ПрограмёрВ то же время операция A ^ 1 у меня ассоциируется с включением-выключением некого флага (переключателя) подобный вопрос недавно обсуждался со сдвигом и умножением на степень двойки. если по сути задачи умножение - умножать и нужно, конкретные команды - это забота компилятора если переменная Boolean - то и инвертировать нужно не какой-то бит, а булево значение честной операцией ! ЗЫ сишные приколы ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:49 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ПрограмёрНо даже при этом, чем 3 - i лучше чем i ^ 3? При указанной формулировке задачи - вообще ничем. Разве нет? оба хуже (с) ПрограмёрА оригинальная задача так и звучит? это не задача, это шутка автор[вернуться к списку рассказов "Задачи и тесты"] Переменная I представляет собой целое число. I принимает значения 1 или 2. Если I оказалось равным 1, то замените его на 2, и наоборот. Сравните ваше решение с десятью предложенными. Найдите одно или несколько наиболее похожих на ваше и прочитайте в разделе "Категории" краткую характеристику. Вы можете кодировать на любом языке, но для сравнения предпочтительнее использовать PL/1. Решения: IF I='2' THEN I=1; ELSE I=2; IF I=2 THEN I=1; IF I=1 THEN I=2; IF I=1 THEN GOTO SKIP; I=1; GOTO DONE; SKIP:I=2; DONE: J=2; IF I=2 THEN J=1; I=J; DECLARE SWITCH LABEL; IF I=1 THEN SWITCH=ONE; IF I=2 THEN SWITCH=TWO; GOTO SWITCH; ONE: I=2; GOTO DONE; TWO: I=1; DONE: DECLARE ONETWO(2) FIXED BIN(31) INIT(2,1); I=ONETWO(I); I=3-I; I=I-(I/2*2)+1; IF I=2 THEN DO; I=1; END; ELSE DO; I=2; END; IF I=1 THEN I=2; ELSE DO;IF I=2 THEN I=1; ELSE DO; PUT LIST('НЕДОПУСТИМОЕ ЗНАЧЕНИЕ I: ',I,' ЗАМЕНЕНО НА 1'); I=1; END;END; Категории: Недавний выпускник школы IBM. Не более одного из десяти окончивших эту школу знают разницу между 2 и "2". Удивительно, как можно вообще программировать без знания столь фундоментальных понятий. Преподаватель программирования. Это решение хуже предыдущего. Много ли, однако, обучающих программированию сами написали и отладили хотя бы одну программу? Программист на Фортране, только что закончивший курсы по PL/1. Да, старую собаку не научишь новым штукам! Это решение дает верный результат, но это всё, что можно про него сказать. Программист на Ассемблере, прошедший тот же курс. Это решение не является ни прямым, ни эффективным. В нём есть та прелесть, что оно не содержит самомодифицирующихся кодов, но это лишь результат возврата на землю после изучения языка высокого уровня. Системный аналитик. Прекрасная иллюстрация для тех, кто думает, что главная обязанность системного аналитика - это разработка такого алгоритма, в котором окажется некомпетентным даже хороший и опытный программист. Computer scientist. Наверное, это самое умное решение. Однако такое "сальто-мортале" без комментариев оказывается весьма непонятным. Искусство требует жертв, а жертвой будет тот, кто будет разбираться в этой программе - может быть, сам автор спустя три месяца. Математик. Очень похоже на предыдущее, столь же элегантно, но опять-таки та же проблема: как в этом разобраться? Секретчик. Программист, заботящийся о секретности своей программы. Вот работа настоящего композитора, и, конечно, никаких комментариев. "Я могла бы придумать и более запутанный способ, как это сделать", - с гордостью сказала Белая Королева. Структурный программист. Каждому ясно, что сие произведение - структурная программа. Но структурная программа характеризуется не отступами от края листа, а прежде всего наличием внутренней логики. Хороший программист. Заметьте, что ни одно из предыдущих решений не проверяло диапазон значений I, а это весьма опасно. Вас не спасет ни структурность, ни фантастические алгоритмы, ни элегантность решения, если вдруг окажется, что I первоначально не было равно ни единице, ни двойке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:53 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ПрограмёрЯ много более значимых правок в код автора внёс... вносил бы уж до конца )) Код: javascript 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 01:55 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрЯ много более значимых правок в код автора внёс... вносил бы уж до конца )) Код: javascript 1. 2. 3. 4. Мог бы, да зачем? Что бы новичёк убежал с круглыми глазами крича "да какие массивы! какие объекты! Достало, пойду лучше китайский учить"? Это решение было направлена на новичка, а потому на минимальное количество "нового" и при этом более правильное оперирование "старым". P.S. я же не могу ванговать, что бы узнать учится ли он или просто на собственном сайте, например, пытается мигание картинок сделать (потому скопипастил где-то и просит поправить что бы работало). А если учится - то заваливать его кучей новых типов данных - далеко не лучшее решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 02:10 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
Програмёрда какие массивы страшные они в примере и нечитаемые ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 02:34 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёрда какие массивы страшные они в примере и нечитаемые ну... нравится id, index, list - делай id, index, list :)) Не суть важно. Я же не пытаюсь спорить что так как я сделал - лучше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 03:17 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
Програмёр, Я вот тут прочитал тред и.. вы хотя бы поняли, что «window.onload= » это не правильно? Мдя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 04:00 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
hVosttПрограмёр, Я вот тут прочитал тред и.. вы хотя бы поняли, что «window.onload= » это не правильно? Мдя... я бы не стал говорить "неправильно"... скорее "плохо". Для лучшего понимания вообще следует сказать "использование window.onload не является хорошей практикой". Так можно делать, но если пишешь что-то серьёзное, то явно так делать не стоит. А к чему это вообще сказано было? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 04:12 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
Програмёря бы не стал говорить "неправильно"... скорее "плохо". Для лучшего понимания вообще следует сказать "использование window.onload не является хорошей практикой". Так можно делать, но если пишешь что-то серьёзное, то явно так делать не стоит. А к чему это вообще сказано было? :)) Отличный вопрос! Сказано это было к тому, что ТС просил, цитирую: «Что исправить надо?», т.е. надо было поправить его код, чтобы он заработал, а не переписывать по-своему (да ещё и с грубыми ошибками). Чтобы он понял в чём косяк. Совершенно другой код ему этого ответа не даст, хотя конечно он и сможет его скопипастить, это будет медвежья услуга. В дальнейшем он мог бы спросить: как можно улучшить этот код? Ну или попросить варианты решения его задачи, и это был бы уже совсем другой разговор. Вот к чему это было сказано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 05:07 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
Програмёрvcsdvdsvsd, хм... не любит js в виде ключей массива использовать true/false :) Не знал... думал он их к числам приведёт. Ну тогда так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. На этот раз проверил. Работает. всё работает, спасибо большое! спасибо всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 09:42 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
hVosttПрограмёря бы не стал говорить "неправильно"... скорее "плохо". Для лучшего понимания вообще следует сказать "использование window.onload не является хорошей практикой". Так можно делать, но если пишешь что-то серьёзное, то явно так делать не стоит. А к чему это вообще сказано было? :)) Отличный вопрос! Сказано это было к тому, что ТС просил, цитирую: «Что исправить надо?», т.е. надо было поправить его код, чтобы он заработал, а не переписывать по-своему (да ещё и с грубыми ошибками). Чтобы он понял в чём косяк. Совершенно другой код ему этого ответа не даст, хотя конечно он и сможет его скопипастить, это будет медвежья услуга. В дальнейшем он мог бы спросить: как можно улучшить этот код? Ну или попросить варианты решения его задачи, и это был бы уже совсем другой разговор. Вот к чему это было сказано. У Вас странный подход к обучению. Вы считаете, что на человека, который только вникает в суть языка (а похоже что и в суть самого программирования) сразу надо вываливать весь объём информации имеющийся в нашей сфере? Что бы понять что Вы написали, автору надо: 1. Понять как правильно вешаются обработчики событий 2. Узнать что такое контекст выполнения и что это за конструкция (function(){})(). А также освоить области видимости переменных. Что бы понять мой код автору надо... почитать про бинарные операции, что является основой программирования, и изучаются наравне с математическими операциями и вызовом функций. В общем, рекомендую посмотреть курс CS50. Очень сильно меняет понимание правильного подхода к обучению. У них там всё обучение строится по схеме: 1. Ввести маленькую порцию нового 2. Пояснить и показать примеры использования (в том числе с использованием плохих практик) 3. Маленькими шагами исключить всё "плохое" в коде поясняя суть, причину и результат каждого шага. 4. Закрепить получившейся результат и перейти к пункту 1. И знаете, это интересно... это удобно... это понятно. Сразу видно что студенты не сидят и не начинают тупить, а включаются в работу и всё (или почти всё) понимают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 16:28 |
|
||
|
SetInterval
|
|||
|---|---|---|---|
|
#18+
ПрограмёрУ Вас странный подход к обучению. Вы считаете, что на человека, который только вникает в суть языка (а похоже что и в суть самого программирования) сразу надо вываливать весь объём информации имеющийся в нашей сфере? Где конкретно из моих слов следует про весь объём информации? Я сказал ровно противоположное. О конкретной неисправности, а именно: подписка на событие и изоляция (замыкание). Неужели для вас это и есть тот самый «весь объём информации»? Печально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2016, 22:02 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39341406&tid=1444926]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
488ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 601ms |

| 0 / 0 |
