А вот например как можно сделать интерфейс работающий за счет движения курсора, это очень быстро, странно что интерфейсы такого типа ещё мало используются
<html>
<head>
<script type="text/javascript">
var a=0;
function mouseOver1()
{
a=1;
document.getElementById("t1").value="so"
}
function mouseOver2()
{
if (a==1)
{
a=0;
document.getElementById("t1").value="some words";
}
}
</script>
</head>
<body>
<textarea width="100" height="50" onmouseover="mouseOver1()"> </textarea>
<textarea width="100" height="50" onmouseover="mouseOver2()"> </textarea>
<br> <br> <br>
<center>
<textarea id="t1">so</textarea>
</center>
</body>
</html>
:cheer:
:vacation:
1-е: У textarea просто нет аттрибута value. Но можно было использовать element.textContent.
2-е: лучше делать onmouseover="mouseOver1(event)"
Тогда event.currentTarget = это и будет тот элемент , по которому бегает курсор. Ну и
function mouseOver1(evt) { el=evt.currentTarget; el.textContent="Hi!"; }
:grum:
1-е: в IE8 все работает и аттрибут value у textarea есть http://www.w3schools.com/htmldom/dom_obj_textarea.asp
2-е: правильно что-то такое более общее можно придумать но мой вариант прост и понятен, а вообще да можно придумать и эффектнее
:cheer:
IE8 - ф топку!!!!!!!! :grum:
http://developer.mozilla.org
http://www.w3c.org/TR
....
Last edited by смешно; 07-01-2009 at 05:05 PM.
4 main reasons why Boston is the best place to live:Red Sox (Baseball), Patriots (Football) World Champions
Celtics the NBA (Basketball), Bruins Stanley Cup (Hockey)
:popcorn:
element.addEventListener("click",
fucntion (evt) {
......
}
,false);
Жуть!!!!!! При этом - сам element внутри обработчика доступен по evt.currentTarget.
А дополнительные параметры сюда можно передавать через дополнительные аттрибуты.
document.createAttribute("vvv");
И теперь можно - element.setAttribute("vvv","Hello!");
:grum:
Но с addEventListener теперь JavaScript допускает "эффективную компиляцию" (хотя бы в байт-код).
:popcorn:
Жуткий (наверное "по-настоящему американский") вопрос - как удалить "анонимный" Event Listener из объекта? :grum:
Ответы там - ну очень "своеобразные". Официально это можно делать в новом EventListener с использованием this.argument.callee.
:grum:
Но почему-то никому не пришло в голову - что можно просто удалить объект (DOM element) из дерева , а потом вместо него создать новый без Event Listener. (специально у себя пробовал - так оно нормально работает). Если элемент исключён из дерева - то уведомления о событиях к нему и так уже не поступают. А указатель на него после выхода из функции и так попадёт в "мусор" (garbage).
:grum:
Кто-нибудь пробовал написать "скрипт на JavaScript" примерно в 1500 строчек?
:vacation:
Если вдруг захочется рисовать widget - то скрипт для динамического контента может быть примерно такого размера. Правда для widget это всё сжимается (архивируется) и суммарно по длинне не превышает 40-50 килобайт. Дополнительные "всплывающие окна" при этом создаются по
document.createElement("div").
Просто делается setAttribute("style","z-index :4;..."). Всплывание такого "окна" делается по document.body.appendChild(...). А "закрытие окна" по "display :none" - изменение стиля. Но отлаживать всё - ну очень неудобно. :grum:
В 1999 году писал калькулятор для одной страховой компаний. Если я не путаю там у меня было проблизительно 20000 лини кодов. Всё было написано в [JavaScript] для одной странитцы. Работало как чясы. [Yahoo Widget] писал тоже в [JavaScript] только линий не помню сколько, думаю на много поменьше.
пс: Вот кстати одна из моих халтур
[ http://www.ecowidget.com/ ]
Палец от станка не далеко падает.
There are currently 1 users browsing this thread. (0 members and 1 guests)
|
|
Terms of Service | Privacy Policy |
|