Показать сообщение отдельно
  #4 (permalink)  
Старый 27.04.2014, 18:40
Интересующийся
Отправить личное сообщение для xcislav Посмотреть профиль Найти все сообщения от xcislav
 
Регистрация: 25.11.2013
Сообщений: 10

Постил тему как раз по этому (тут непонятен подход почему расстреливать - без аргументации в упомянутом ссылкой треде)
По поводу работы за деньги - иногда встречаются люди сразу врубающиеся как сделать а кто-то и код подправит - вместе легче и считай и денег тех нет. А бывает часто за те шиши можно и нагуглить готовое или придёт чел как я которое где-то такое в книге проходит (ну тут похожее). По этому (инспирировано):


Цитата:
Почему не работает скроллер (перепечатывали с книги)?
книга - Практические занятия по JavaScript
Выловили по ходу до 5ти грамматических опечаток и скобок но:

http://www.fis.unipr.it/pub/doc/java...5.htm#scroller


Часа 3 угрохали - не можем понять!

Код:
<html>
<head>
<script language="JavaScript">
var scrtxt="eto prokrutka"+"eto prokrutka"+"eto prokrutka";
var len=scrtxt.length;
var width=100;
var pos=-(width+2);
function scroll(){
pos++;
var scroller="";
if (pos==len){
pos=-(width+2);
}
if (pos<0){
for (var i=1; i<=Math.abs(pos); i++){
scroller=scroller+" ";}
scroller=scroller+scrtxt.substring(0, width-i+1);
}
else{
scroller=scroller+scrtxt.substring(pos, width+pos);
}
window.status=scroller;
setTimeout("scroll()",100);
}
</script>
</head>
<body onLoad="scroll();">
html
</body>
</html>
 (программа довольно большая и с, видимо, оригинального сайта тоже не запустилась)
браузер firefox 26.0, gentoo

Учащаяся группа будет благодарна за любой намёк.


/upd

разобрались -скролинг был отключён. Поняли что программа делает когда под Vbox запустили эксплорер или симанки

Автор дальше по тексту говорит что не будет ничего объяснять ,но надо докумекать как прога работает.
Вобщем сори.Всем спасибо.

/upd (недельку учимся уменьшили цикл все равно туго):

<html>
<head>
<script language="JavaScript">


var scrtxt = "12";
var len = scrtxt.length;//3>потому что 3 знака в кавычках
var width = 2;
var pos = -(width + 2);//-(4+2)=-6

function scroll() {

pos++; //ЦИКЛ1pos+1=-6+1=-5
//ЦИКЛ2pos+1=-5+1=-4

var scroller = "";
if (pos == len) {//ЦИКЛ1 какое пос сейчас-не равно ли оно лен-если равно-то условие не выполняется - при первом цикле значение пос равно -5==3 - то есть меньше - значит прорабатывает цикл
//ЦИКЛ2 -4 меньше 3 - значит цикл прорабатывается.
pos = -(width + 2);//ЦИКЛ1 новое значение пос=-(4+2)=-3
//ЦИКЛ2 новое значение пос=-(-)
}

if (pos < 0) {//сравниваем пос с нулем -3 меньше 0 - значит выполняется цикл
for (var i = 1; i <= Math.abs(pos); i++) { scroller = scroller + " ";}//и - равно единице- при первом проходе цикла, сравниваем с модулем пос - то есть с его положительным значением, пос при первом проходе равен 3. и меньше трех, поэтому выполняется цикл;;и равно 2(предыдущая единица плюс один и++) два - меньше трех, значит опять выполняется цикл;;и равно 3 (предыдущая двойка плюс один) 3 равно 3 - значит условие все еще выполняется - и цикл тоже;;и равно 4, а 4 больше трех - поэтому цикл завершается : переход в следующу команду.
//у скроллера один пробел;;возвращаемся в фор;;у скроллера один пробел(с предыдущим два);;возвращаемся в фор;;у скроллера один пробел (с предыдущим три);; возвращаемся в фор
scroller = scroller + scrtxt.substring(0, width - i + 1);//фор накрутил три пробела, которые мы добавили до текста, указанного координатами сабстринга (первая координата - ноль, а вторая координата вычисляется таким образом: видθ изначально равно 4, минус и, которое накрутило 3, плюс один - получается два... Вторая координата указывает - до какого символа движется текст, не включая его, значит текст движется всего на один символ справа налево )
}
else {
scroller = scroller + scrtxt.substring(pos, width + pos);
}


window.status = scroller;


setTimeout("scroll()", 1000);
}


</script>
</head>

<body onLoad="scroll()">
Your HTML-page goes here.
</body>
</html>


Последний раз редактировалось xcislav, 01.05.2014 в 19:33.
Ответить с цитированием