|
Вопросы для доброго дяди, от Koeshiro
|
|
|
2013-09-08Дата: Воскресенье, 08.09.2013, 19:37 | Сообщение # 571 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
document.Id для особо современных браузеров. Или я вас не понял. Или я плохо ищу.
| | |
|
|
2013-09-08Дата: Воскресенье, 08.09.2013, 19:41 | Сообщение # 572 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Koeshiro, Или я вас не понял. Или я плохо ищу. Ни разу не встречали такое: ..?
| | |
|
|
2013-09-11Дата: Среда, 11.09.2013, 17:26 | Сообщение # 573 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
likbezz, .forms и links нет.
Добавлено (11.09.2013, 11:52) --------------------------------------------- Вроде всё нормально. Но один из последних штрихов страницы не работает. . . . . Код <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="text/html"> <title>Я Мерепещающаяся картинка!</title> <style> body{padding:0;margin:0;} #slidediv1{width:100%;height:100%;position: fixed; padding:0; margin:0;} .tdiv{position: fixed; width:300px; height:30px; background: rgba(0, 0, 0, 0.8); top:0; left:20px; color:#f99206;padding:5px;} .bdiv{position: fixed; width:300px; height:30px; background: rgba(0, 0, 0, 0.8); bottom:0; right:20px; color:#f1f1f1;padding:5px;z-index:9999;} .newsdiv{position: absolute; width:300px; height:300px; background: rgba(0, 0, 0, 0.8);; color:#f1f1f1;padding:5px; border-radius:10px 10px 10px 10px; border: 2px dashed #fff;margin:50px !important; padding: 5px;z-index:1;} .bdiv,div{padding:5px;} #firstdiv{position: relative;} </style> </head> <body > <div id="slidediv1"><img src="https://pp.vk.me/c307514/v307514138/a569/7mb8m9F-JFQ.jpg" height="100%" width="100%"/></div> <div id="firstdiv"> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div></div> <div class="tdiv"><div align="center"><b>Картинка:</b> Небеса</div></div> <div class="bdiv"><div id="stop" style="float:left" onclick="sa();">Стоп</div><div id="down" onclick="fly();" style="float:left">Вниз</div></div> <script> function afun(divname){ position=''; z=0; l=0; i=1; scwidth=(screen.width/100)*18; e=document.getElementById(divname); num=e.children.length; s=setInterval(function(){animate();},50); document.getElementById('down').onclick=function(){fly(e,num,s,scwidth);} document.getElementById('stop').onclick=function(){sa(s);} if(screen.height>=720){ topposition=[Math.floor(Math.random()*screen.height/6-100) , screen.height/2-100+Math.floor(Math.random()*80)]; while(i<num){ position+=(i*300+Math.floor(Math.random()*50))+Math.floor(Math.random()*screen.width/10); position+='^'; i++; }i=0; positionarry=position.split('^'); while(i<num){ if(z==0){z=1;}else{z=0;} e.children[i].style.top=topposition[z]+50+'px'; e.children[i].style.left=positionarry[i]+'px';i++; } function animate(){ l++; while(i<num){ e.children[i].style.left=positionarry[i]-l+'px'; e.children[i].style.width=scwidth+'px'; i++; } i=0; }} else{if(screen.height<720){NewsForMobail(e,num,s)}else{fly(e,num,s,scwidth)}} } function sa(s){clearInterval(s);} function fly(e,num,s,divarwidth){ i=0; z=0; w=0; while(i<num){ e.children[i].style.top=i*divarwidth+(20*i)+'px'; e.children[i].style.left=screen.height/2+'px';i++;} clearInterval(s); function aniwidth(){ i=0; w++; while(i<num){z++; e.children[i].style.width=300+w+'px'; i++;} if(z<num*screen.width/4){setTimeout(function(){aniwidth()},2);} } aniwidth(); } function NewsForMobail(e,num,s){ i=0; z=0; awidth=[(screen.width/2)+(screen.width/6) , (screen.width/2)-(screen.width/6)]; sa(s); while(i<num){ if(z=0){z=1}else{z=0}
if(z=0){ e.position=awidth[1]+'px'; i++; e.position=awidth[0]+'px'; i++; } else{ e.position=awidth[0]+'px'; i++; e.position=awidth[1]+'px'; i++; } } } afun('firstdiv'); </script> </body> </html> Я пытался понять в чём дело. . . . Но особого толку не было от этого. Дебагеры выдают разную "охенею" Одному кодировка не нравиться. Другому кажется что нет ; там где она есть. . . .
function NewsForMobail() Заранее спасибо за помощь =)
Сообщение отредактировал Koeshiro - Среда, 11.09.2013, 17:42 | | |
|
|
2013-09-11Дата: Среда, 11.09.2013, 18:49 | Сообщение # 574 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Koeshiro, Вроде всё нормально. Но один из последних штрихов страницы не работает. ..Функции вложенные, переменные глобальные.. Ты вообще не читаешь что я пишу? или не понимаешь прочитанное?
У тебя функция animate() - опять вложена в функцию afun(). Ни к одной переменной не прописан var - глобальные.
Код function aniwidth(){ i=0; w++; - чему тут равно w ? ..
Заранее спасибо за помощь - бесполезная она какая-то получается..
| | |
|
|
2013-09-14Дата: Суббота, 14.09.2013, 17:07 | Сообщение # 575 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
- бесполезная она какая-то получается.. Шутите? Это вы ведь всему меня научили.
Добавлено (12.09.2013, 14:37) --------------------------------------------- animate функцию вытащить не получается. Не знаю как передать массив. . . . Бред налепил. Прорвёмся!
Добавлено (14.09.2013, 17:07) --------------------------------------------- Т.к. Не понял как выводить массив\объект В другие функции не делая его глобальным сделал объект с "намудреным" названием. . . . Удобно! Сделал функцию которая вызывает все нужные функции. Или вообще все. А если нужной нет то выводит в консоль сообщение с ошибкой =) Короче говоря страница выглядит теперь так.Код <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="text/html"> <title>Я Перепещающаяся картинка!</title> <script> //Основная функция для работы всей страницы1 function afun(divname){ var position=''; var z=0; var l=0; var i=1; var scwidth=(screen.width/100)*18; var e=document.getElementById(divname); var num=e.children.length; var s=setInterval(function(){animate();},50); if(screen.height>=720){ topposition=[Math.floor(Math.random()*screen.height/6-100) , screen.height/2-100+Math.floor(Math.random()*80)]; while(i<num){ position+=(i*300+Math.floor(Math.random()*50))+Math.floor(Math.random()*screen.width/10); position+='^'; i++; }var i=0; var positionarry=position.split('^'); while(i<num){ if(z==0){z=1;}else{z=0;} e.children[i].style.top=topposition[z]+50+'px'; e.children[i].style.left=positionarry[i]+'px';i++; } function animate(){ var i=0; l++; while(i<num){ e.children[i].style.left=positionarry[i]-l+'px'; e.children[i].style.width=scwidth+'px'; i++; } var i=0;}} else{if(screen.height<720){NewsForMobail(e,num,s);}else{fly(e,num,s,scwidth)}} /*Objects*/ ObjectforDocement=new Object; ObjectforDocement.element=e; ObjectforDocement.stime=s; ObjectforDocement.num=num; ObjectforDocement.position=position; ObjectforDocement.elementWidth=scwidth; /*--------*/ } //Функция для удобного вызова любых функций. function callallfunction(functionname){ switch(functionname){ case 'fly':fly(ObjectforDocement.element,ObjectforDocement.num,ObjectforDocement.stime,ObjectforDocement.elementWidth); break; case 'sa':sa(ObjectforDocement.stime); break; case 'NewsForMobail':NewsForMobail(ObjectforDocement.element,ObjectforDocement.num,ObjectforDocement.stime);break; case 'all':sa(ObjectforDocement.stime); NewsForMobail(ObjectforDocement.element,ObjectforDocement.num,ObjectforDocement.stime); fly(ObjectforDocement.element,ObjectforDocement.num,ObjectforDocement.stime,ObjectforDocement.elementWidth); break; default:console.log('Error. Function '+functionname+' undefined'); break;}}
function sa(){clearInterval(ObjectforDocement.stime);} //Преобразование в колонку. function fly(e,num,s,divarwidth){ var i=0; var z=0; var w=0; while(i<num){ e.children[i].style.top=i*divarwidth+(20*i)+'px'; e.children[i].style.left=screen.height/2+'px';i++;} clearInterval(ObjectforDocement.stime); function aniwidth(){ var i=0; w++; while(i<num){z++; e.children[i].style.width=300+w+'px'; i++;} if(z<num*screen.width/4){setTimeout(function(){aniwidth()},2);} } aniwidth(); } // Преобразование под телефон. function NewsForMobail(e,num,s){ var i=0; var z=0; var awidth=[screen.width/2+screen.width/6 , screen.width/2-screen.width/6]; sa(); while(i<num){ if(z=0){z=1}else{z=0}
if(z=0){ e.left=awidth[1]+'px'; i++; e.left=awidth[0]+'px'; i++; } else{ e.left=awidth[0]+'px'; i++; e.left=awidth[1]+'px'; i++; } } } </script> <style> body{padding:0;margin:0;} #slidediv1{width:100%;height:100%;position: fixed; padding:0; margin:0;} .tdiv{position: fixed; width:300px; height:30px; background: rgba(0, 0, 0, 0.8); top:0; left:20px; color:#f99206;padding:5px;} .bdiv{position: fixed; width:300px; height:30px; background: rgba(0, 0, 0, 0.8); bottom:0; right:20px; color:#f1f1f1;padding:5px;z-index:9999;} .newsdiv{position: absolute; width:300px; height:300px; background: rgba(0, 0, 0, 0.8);; color:#f1f1f1;padding:5px; border: 2px dashed #fff;margin:50px !important; padding: 5px;z-index:1;} .bdiv,div{padding:5px;} #firstdiv{position: relative;} </style> </head> <body > <div id="slidediv1"><img src="https://pp.vk.me/c307514/v307514138/a569/7mb8m9F-JFQ.jpg" height="100%" width="100%"/></div> <div id="firstdiv"> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div> <div class="newsdiv">Текст</div></div> <div class="tdiv"><div align="center"><b>Картинка:</b> Небеса</div></div> <div class="bdiv"><div id="stop" style="float:left" onclick="callallfunction('sa');">Стоп</div><div id="down" onclick="callallfunction('fly');" style="float:left">Вниз</div><div id="down" onclick="callallfunction('NewsForMobail');" style="float:left">Телефон</div></div> <script>afun('firstdiv');</script> </body> </html> Ну и для скачки. Ещё пара шагов. И страница будет полностью готова.
Сообщение отредактировал Koeshiro - Суббота, 14.09.2013, 17:10 | | |
|
|
2013-09-14Дата: Суббота, 14.09.2013, 17:11 | Сообщение # 576 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Koeshiro, Ещё пара шагов. И страница будет полностью готова. Оптимист, блин )) Посмотрю позже
| | |
|
|
2013-09-17Дата: Вторник, 17.09.2013, 15:37 | Сообщение # 577 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
likbezz, Не нашлось ещё время?)
| | |
|
|
2013-09-17Дата: Вторник, 17.09.2013, 21:33 | Сообщение # 578 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Koeshiro, Снова куча бесполезных переменных, снова все вложено .. Вот что я имею в виду под: несколько простых функций:
☑ http://likbezz.ru/_example/_rest/_2013/p1/Untitled-55.html
| | |
|
|
2013-09-24Дата: Вторник, 24.09.2013, 10:52 | Сообщение # 579 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
Снова куча бесполезных переменных, снова все вложено .. Да? Ну блин. Пока что не знаю как без них. Но если можно обойтись и без них попробую. . .
Добавлено (24.09.2013, 10:52) --------------------------------------------- И снова привет. Учитель. У меня снова проблема. Однажды вы мне показали как можно определить местоположение курсора на экране. Сейчас я уже более или менее понимаю что содержится в этом скрипте. Но всё же не пойму один единственный элемент. Цитата function getPosition(e){ e=e||window.event; var cursor={x:0,y:0}; if(e.pageX||e.pageY){ cursor.x=e.pageX; cursor.y=e.pageY; }else{ cursor.x=e.clientX+ (document.documentElement.scrollLeft|| document.body.scrollLeft) - document.documentElement.clientLeft; cursor.y=e.clientY+ (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop; } return cursor; } function skyanimate(event){ var mous=getPosition(event); var skyid=document.getElementById('sky'); var num=skyid.children.length; var i=0; var i=0; while(i<num){skyid.children[i].style.top=screen.height/2-mous.y+'px';skyid.children[i].style.left=screen.width/2-mous.x+'px';i++;} } Чему равен event Ведь когда я писал скрипт мне выдало единственную ошибку event не определён. И тут я и заметил то чего не понимал. В версии которую вы мне показали всё выглядело так. Код <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="http://my-soul.tk/jq/jquery-1.8.3.min.js"></script> <style> body{position: absolute; width: 1000px; height: 1000px;} img{position: absolute;} </style> <script type="text/javascript"> function getPosition(e){ e=e||window.event; var cursor={x:0,y:0}; if(e.pageX||e.pageY){ cursor.x=e.pageX; cursor.y=e.pageY; }else{ cursor.x=e.clientX+ (document.documentElement.scrollLeft|| document.body.scrollLeft) - document.documentElement.clientLeft; cursor.y=e.clientY+ (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop; } return cursor; } myimgwidth=screen.width; </script> </head> <body onmousemove="var p=getPosition(event);var f=p.y-50;document.getElementById('myimg').style.top=f+'px';"> <h1>Нажми на картинки, они улетят!</h1> <div id="diva" > <img src="http://680482125.uid.me/avatar.jpg" border="1" width="110" id="myimg" onclick="$('#myimg').animate({left:myimgwidth},900);"/><br> <img src="http://680482125.uid.me/avatar.jpg" border="2" width="110" id="myimg2" onclick="$('#myimg2').animate({left:1500},1500);"/><br> <img src="http://680482125.uid.me/avatar.jpg" border="3" width="110" id="myimg3" onclick="$('#myimg3').animate({left:2000},1000);"/><br> </div> <h2>На все =)</h2> </body> </html> У меня конечно всё работает по средствам <body onmousemove="skyanimate(event)"> Но всё же что это за переменная? P.S. Стиль оформления скриптов вроде подобрал =)
Сообщение отредактировал Koeshiro - Вторник, 24.09.2013, 11:27 | | |
|
|
2013-09-25Дата: Среда, 25.09.2013, 00:52 | Сообщение # 580 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Koeshiro, Объекту откуда вызвано событие. <body onmousemove="var p=getPosition(event);var f=p.y-50;document.getElementById('myimg').style.top=f+'px';"> В данном случае body ..
В версии которую вы мне показали всё выглядело так. - это не мой код)
| | |
|
|
2013-09-25Дата: Среда, 25.09.2013, 12:58 | Сообщение # 581 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
Разве? Я получаться что-то менял там. . .Добавлено (25.09.2013, 10:59) --------------------------------------------- Понял как это работает!) Добавлено (25.09.2013, 12:58) --------------------------------------------- Можно один наверное глупый вопрос. . . Почему вот это Код //Определение позиционирования Курсора. function getPosition(e){ e=e||window.event; var cursor={x:0,y:0}; if(e.pageX||e.pageY){cursor.x=e.pageX; cursor.y=e.pageY;} else{cursor.x=e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft; cursor.y=e.clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop;} return cursor; }
//Определение Позиции Для Анимации Sky. function sky(event){ if(!skyposition){ var skyid=document.getElementById('sky'); var num=skyid.children.length; var i=0; var positionarry=[]; while(i<num){skyid.children[i].style.top=screen.height-(i+1)*200+'px'; positionarry.push(screen.height-(i+1)*200);i++;} skyposition=posirionarry.join('^'); skyanimate(event); } else{skyanimate(event);} }
//Анимация sky. function skyanimate(event){ var positionarry=skyposition.split('^'); var mous=getPosition(event); var skyid=document.getElementById('sky'); var num=skyid.children.length; var i=0; while(i<num){skyid.children[i].style.top=positionarry[i]-mous.y+i*200+'px'; skyid.children[i].style.left=positionarry[i]+mous.x-i*140+'px';i++;} } Не в какую не хочет работать? Выдаёт что нет skyposition хотя я проверяю его наличие и в случае отсутствия создаю.
| | |
|
|
2013-09-25Дата: Среда, 25.09.2013, 21:36 | Сообщение # 582 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Koeshiro, function sky(event){ if(!skyposition){ { Интересно, что это ты проверяешь ? - его никогда не будет - skyposition просто не определен в данной функции.
event - это не объект, это событие объекта. Скорее всего у тебя его нет - в данном фрагменте не видно откуда приходит event
| | |
|
|
2013-09-26Дата: Четверг, 26.09.2013, 17:02 | Сообщение # 583 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
Интересно, что это ты проверяешь ? - его никогда не будет - skyposition просто не определен в данной функции. У меня просто закончились идеи как можно выполнить часть кода (ту что в if) один раз? Как я понял его не будет потому что в любом случает if(!skyposition){ ... Выдаст ошибку? Тогда как поступить? Пот этого просто не знаю. . .Проверять позиционирование элемента глупо на всех экранах оно разное. z=0 И после выполнения нужного кода z=1 тоже глупо. После запуска функции во второй раз z=0 снова . . . do while тоже не выходит. . .
Сообщение отредактировал Koeshiro - Четверг, 26.09.2013, 17:34 | | |
|
|
2013-09-26Дата: Четверг, 26.09.2013, 23:40 | Сообщение # 584 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
Koeshiro, Цитата (Koeshiro) Как я понял его не будет потому что в любом случает if(!skyposition){ ... Выдаст ошибку? Её - переменной skyposition - не будет, потому что она не определена в данной функции. Это то же самое что купить пустой пластиковый стаканчик за три рубля и проверять нет ли там кофе.. его еще не налили туда .. и не было изначально..
Цитата (Koeshiro) Выдаёт что нет skyposition хотя я проверяю его наличие и в случае отсутствия создаю. Глобальные переменные определяются либо через typeof, либо через объект window. Простой if - вызовет ошибку, тк переменная НЕ определена. Сколько можно повторять одно и тоже ..
Цитата (Koeshiro) Может do while с ошибкой? - сильно подозреваю, что до цикла не дойдет .. функция запорится гораздо раньше. Хотя, точно сказать по данному куску кода, конечно сложно - не видно что откуда вызывается, а прикидывать вероятности не вижу смысла - косяк налицо.
| | |
|
|
2013-09-27Дата: Пятница, 27.09.2013, 12:02 | Сообщение # 585 |
Генерал-майор
Группа: Проверенные
Статус: Offline
|
Глобальные переменные определяются либо через typeof, либо через объект window. Простой if - вызовет ошибку, тк переменная НЕ определена. Сколько можно повторять одно и тоже .. Я понял. . . Просто в примере нечего не менял а так пытался сделать глобальный объект через windiw.тра-та-та И строку через return тра-та-та(Не сразу понял что это всё дело нужно к чему-то приравнять) Не помогло. . . - сильно подозреваю, что до цикла не дойдет .. функция запорится гораздо раньше. Да даже если и дойдёт до него код будет выполняться каждый раз. Не имеет смысла использовать этот код. . . Хотя, точно сказать по данному куску кода, конечно сложно - не видно что откуда вызывается, а прикидывать вероятности не вижу смысла - косяк налицо. Я вот пытаюсь прикинуть как можно вообще сделать то что я хочу.(Что бы три элемента немного сдвигались в сторону мышки. И сделать это так чтоб не пришлось писать три отдельный функции. . . . Но идеи исчерпались. Я не имею представления о том как можно это реализовать(Не используя JQ. . . Это просто принципиально)) P.S. А как создавать глобальную переменную через typeof ?
| | |
|