Вопросы для доброго дяди, от Koeshiro
|
|
[586] likbezz [27.09.2013, 20:06] |
Koeshiro, Просто в примере нечего не менял а так пытался сделать глобальный объект через windiw.тра-та-та И строку через return тра-та-та(Не сразу понял что это всё дело нужно к чему-то приравнять) Не помогло. . . В коде что ты выложил всего это нет, ни windiw ни typeof ..
Что бы три элемента немного сдвигались в сторону мышки. И сделать это так чтоб не пришлось писать три отдельный функции. . А сколько? Одну?
Я не имею представления о том как можно это реализовать(Не используя JQ. . . Это просто принципиально)) - А что с JQ проще написать что ли? Напиши на JQ а потом перегони в чистый JS - ОЙ - это же тоже JS а не что-то другое.
..А какие тут идеи? Вешается событие на контейнер в котором будет двигаться мышка, создается объект который будет двигаться. Ко всему этому: 1. Глобальная - для таймера. 2. Глобальная для начальных координат - массив. 3. Функция в которую будет передаваться эвент от мышки. 4. И несколько дополнительных - для вычисления координат курсора, для прохода по элементам, для вычисления координат объектов, для анимации объектов. - уже как минимум четыре...
Принцип: Функция принимает эвент, вычисляет координаты, через какую-нить формулу (например коэффициент от суммы координат объекта и текущего положения мышки) переписывает координаты объекта, через цикл. Так же, по истечении цикла, переписывает глобальные переменные - ставит актуальные цифры. Пока работает функция - таймер в false, по истечении - таймер в true - а в самом начале функции вешается проверка таймера. Так как мышка двигается постоянно - нужно задерживать поток функций, проще всего именно так.
Из всего этого самое сложное - это просчитать (придумать) формулу по которой “три элемента немного сдвигались бы в сторону мышки” ... это не просто драг-ту-дроп - где всего-навсего элементу передаются координаты мышки... ...
P.S. А как создавать глобальную переменную через typeof ? Через typeof не создаются, а проверяются на наличие. Создаются, из функции, через window, так же и присваиваются. .. |
|
[587] Koeshiro [27.09.2013, 21:09] |
..А какие тут идеи? Вешается событие на контейнер в котором будет двигаться мышка, создается объект который будет двигаться. Ко всему этому: 1. Глобальная - для таймера. 2. Глобальная для начальных координат - массив. 3. Функция в которую будет передаваться эвент от мышки. 4. И несколько дополнительных - для вычисления координат курсора, для прохода по элементам, для вычисления координат объектов, для анимации объектов. - уже как минимум четыре... Принцип: Функция принимает эвент, вычисляет координаты, через какую-нить формулу (например коэффициент от суммы координат объекта и текущего положения мышки) переписывает координаты объекта, через цикл. Так же, по истечении цикла, переписывает глобальные переменные - ставит актуальные цифры. Пока работает функция - таймер в false, по истечении - таймер в true - а в самом начале функции вешается проверка таймера. Так как мышка двигается постоянно - нужно задерживать поток функций, проще всего именно так. Из всего этого самое сложное - это просчитать (придумать) формулу по которой “три элемента немного сдвигались бы в сторону мышки” ... это не просто драг-ту-дроп - где всего-навсего элементу передаются координаты мышки... ... Обработка данных . . . . |
|
[588] likbezz [28.09.2013, 20:32] |
Koeshiro, Надолго я тебя загрузил )) |
|
[589] Koeshiro [29.09.2013, 20:40] |
То есть создавать одну функцию не имеет смысла ибо она всё равно не сможет в должной степени работать со всеми элементами (В итоге будет 4). Стоит сделать глобальную функцию и в неё впихивать более мелкие локальные функции? |
|
[590] likbezz [29.09.2013, 21:06] |
Koeshiro, То есть создавать одну функцию не имеет смысла ибо она всё равно не сможет в должной степени работать со всеми элементами (В итоге будет 4) А вообще, когда нибудь имело смысл? запихивать все в одно? Зачем? Это первое: неудобно. Второе - нерасширяемо, Третье - раздутый код. |
|
[591] Koeshiro [29.09.2013, 21:13] |
А вообще, когда нибудь имело смысл? Не знаю. У меня опыта с гулькин нос. Я думаю как могу. И думаю что нет смысла писать три функции. Когда можно сделать всё в одну строку в body. Такое имеет смысл? |
|
[592] likbezz [29.09.2013, 21:17] |
Koeshiro, И думаю что нет смысла писать три функции. Когда можно сделать всё в одну строку в body. Данный случай - будет оОчень длинная строка .. |
|
[593] Koeshiro [02.10.2013, 21:42] |
Данный случай - будет оОчень длинная строка .. Знаю. Хотя переместить в функцию целесообразней. Но у меня нет особого представления как мне это правильно сделать.Добавлено (02.10.2013, 21:42) --------------------------------------------- Придумал как проверить код на выполнение! Нужно нжно что бы он создавал элемент который после будет изменять! :-) |
|
[594] likbezz [03.10.2013, 22:27] |
Koeshiro, Придумал как проверить код на выполнение! Нужно нжно что бы он создавал элемент который после будет изменять! :-) Типа как глобальная переменная? Зачем тогда создавать Элемент если можно Переменную? а еще лучше - юзась существующие элементы |
|
[595] Koeshiro [16.10.2013, 11:42] |
Работает! Добавлено (16.10.2013, 11:42) --------------------------------------------- Здравствуйте учитель. У меня снова вопрос. Как можно перехватить нажатие на ссылку и открыть её не в новом окне или вкладке, а в имфрейме на странице?
Сообщение отредактировал Koeshiro - Среда, 09.10.2013, 08:38 |
|
[596] likbezz [16.10.2013, 19:25] |
Koeshiro, меня снова вопрос. Как можно перехватить нажатие на ссылку и открыть её не в новом окне или вкладке, а в имфрейме на странице? Добрый. Как обычно - событие onclick и return false; По клику забираем ссылку, создаем фрейм а возвращаем false что бы не было перехода. |
|
[597] Koeshiro [16.10.2013, 19:40] |
Как обычно - событие onclick и return false; Тогда можно просто пройтись по ссылкам и заменить href на onclick XD Спасибо =) |
|
[598] likbezz [16.10.2013, 20:32] |
Koeshiro, Тогда можно просто пройтись по ссылкам и заменить href на onclick Ну да |
|
[599] Koeshiro [19.10.2013, 14:25] |
Сделал. По задумке должно было вызываться алерт как только нажму на родитель елемента но нет =\Цитата <!DOCTYPE html> <html> <head> <title></title> <meta name="" content=""> <style> body{margin:0; padding:0; background:url(file:///C:/Users/Rail-gun/Desktop/ravens.gif);} .tubs{border-radius:0px 0px 15px 15px; border: solid 2px #c4c6c1; background:#cfd1cd; padding-top:5px; padding-left:5px; padding-bottom:5px; padding-right:5px; margin-left:20px;width:auto; height:auto; float: left; box-shadow: 3px 3px rgba(0, 0, 0, 0.6);z-index:99;} .textbody{display:none; background: #d7d9d5; border: solid 2px #c4c6c1; margin-top:1%;box-shadow: 3px 3px rgba(0, 0, 0, 0.7); white-space:pre-wrap;overflow: auto; top:0; left:0;} </style> </head> <body> <div align='center'> <div id='globaltext' align="center" > <div class="textbody" ></div> <div class="textbody" ></div> <div class="textbody" ></div> <div class="textbody" ></div> <div class="textbody" ></div></div> <div id="menu" align="center"> <div class="tubs"><a href="#6">Главная</a></div> <div class="tubs">Информация</div> <div class="tubs">О Продукции</div> <div class="tubs">Адреса</div> <div class="tubs">Контакты</div> </div></div> <script> function firstfun(){ var menuid=document.getElementById('menu'); var num=menuid.children.length; var i=0; while(i<num){menuid.children[i].setAttribute('onclick','tabs('+i+',"globaltext");');i++} } function tabs(element,id){ var bodyid=document.getElementById(id); var num=bodyid.children.length; var i=0; while(i<num){bodyid.children[i].style.display="none";i++} bodyid.children[element].style.display="block"; bodyid.children[element].style.height=screen.height-((screen.height/100)*3)-155+'px'; bodyid.children[element].style.width=screen.width-35+'px'; } function seturl(){ var a=document.getElementsByTagName("a"); var num=a.length; var i=0; while(i<num){var ahref=a[i].href; a[i].parentNode.setAttribute('onclick','openframe('+ahref+')'); a[i].removeAttribute('href');i++;} } function openframe(ahref){ var a=ahref+'^'; alert(a); } firstfun(); seturl(); </script> </body> </html> Добавлено (19.10.2013, 14:25) --------------------------------------------- Не подскажете в чём косяк? |
|
[600] likbezz [20.10.2013, 02:14] |
Koeshiro, Не подскажете в чём косяк? Атрибуты и свойства: реализация, методы и отличия в Internet Explorer Ознакомься) |
|