Advertisement
terorama

Javascript tutorial

Sep 11th, 2012
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. //-------------------------------------------------------------
  3. //            Получить все аттрибуты элемента
  4. //-------------------------------------------------------------
  5.  
  6. document.getElementsByTagName("BUTTON")[0].attributes;
  7.  
  8. //-------------------------------------------------------------
  9. //             Получить все дочерние элементы
  10. //-------------------------------------------------------------
  11.  
  12. document.body.childNodes;
  13.  
  14. //-------------------------------------------------------------
  15. //                      Проверить тип узла (1)
  16. //-------------------------------------------------------------
  17.  
  18. document.body.nodeType;
  19.  
  20. //-------------------------------------------------------------
  21. //              Получить название тэга узла
  22. //-------------------------------------------------------------
  23.  
  24. document.body.nodeName;
  25.  
  26. //-------------------------------------------------------------
  27. //        Получить следующий элемент текущего уровня
  28. //-------------------------------------------------------------
  29.  
  30. document.getElementById("item1").nextSibling;
  31.  
  32. //-------------------------------------------------------------
  33. //        Получить последний дочерний элемент узла
  34. //-------------------------------------------------------------
  35.  
  36. document.getElementById("myList").lastChild;
  37.  
  38. //-------------------------------------------------------------
  39. //         Получить первый дочерний элемент узла
  40. //-------------------------------------------------------------
  41.  
  42. document.firstChild;
  43.  
  44. //-------------------------------------------------------------
  45. //       Получить предыдущий элемент текущего уровня
  46. //-------------------------------------------------------------
  47.  
  48. document.getElementById("item2").previousSibling;
  49.  
  50. //-------------------------------------------------------------
  51. //        Получить текстовое содержание узла
  52. //-------------------------------------------------------------
  53.  
  54. document.getElementsByTagName("BUTTON")[0].textContent;
  55.  
  56. //-------------------------------------------------------------
  57. //              Добавить элемент в список
  58. //-------------------------------------------------------------
  59.  
  60. document.getElementById("myList").appendChild(newListItem);
  61.  
  62. //-------------------------------------------------------------
  63. //        Копировать элемент из одного списка в другой
  64. //-------------------------------------------------------------
  65.  
  66. var node=document.getElementById("myList2").lastChild.cloneNode(true);
  67. document.getElementById("myList1").appendChild(node);
  68.  
  69. //-------------------------------------------------------------
  70. //     Сравнить позиции параграфов друг относительно друга
  71. //-------------------------------------------------------------
  72.  
  73. var p1=document.getElementById("p1");
  74. var p2=document.getElementById("p2");
  75. p1.compareDocumentPosition(p2);
  76.  
  77. //-------------------------------------------------------------
  78. //           Проверить наличие аттрибутов у тэга
  79. //-------------------------------------------------------------
  80.  
  81. document.body.hasAttributes()
  82.  
  83. //-------------------------------------------------------------
  84. //          Проверить наличие дочерних узлов у тэга
  85. //-------------------------------------------------------------
  86.  
  87. document.getElementById("myList").hasChildNodes()
  88.  
  89. //-------------------------------------------------------------
  90. //     Вставить элемент перед заданным элементом в списке
  91. //-------------------------------------------------------------
  92.  
  93. document.getElementById("myList").insertBefore(newItem,existingItem);
  94.  
  95. //-------------------------------------------------------------
  96. //          Проверить идентичность двух элементов
  97. //-------------------------------------------------------------
  98.  
  99. var item1=document.getElementById("myList1").firstChild;
  100. var item2=document.getElementById("myList2").firstChild;
  101. item1.isEqualNode(item2);
  102.  
  103. //-------------------------------------------------------------
  104. //       Проверить принадлежность двух элементов одному родительскому узлу
  105. //-------------------------------------------------------------
  106.  
  107. var item1=document.getElementById("myList1");
  108. var item2=document.getElementsByTagName("UL")[0];
  109. item1.isSameNode(item2);
  110.  
  111. //-------------------------------------------------------------
  112. //                 Удаление элемента из списка
  113. //-------------------------------------------------------------
  114.  
  115. var list=document.getElementById("myList");
  116. list.removeChild(list.childNodes[0]);
  117.  
  118. //-------------------------------------------------------------
  119. //         Заменить элемент списка другим элементом
  120. //-------------------------------------------------------------
  121.  
  122. document.getElementById("myList").replaceChild(newnode,oldnode);
  123.  
  124. //-------------------------------------------------------------
  125. //             Установить текст в статусбар
  126. //-------------------------------------------------------------
  127.  
  128. window.defaultStatus="This is the default text in the status bar!!"
  129.  
  130. //-------------------------------------------------------------
  131. //        Установить текст в статусбар (для Opera)
  132. //-------------------------------------------------------------
  133.  
  134. window.status="Some text in the status bar!!";
  135.  
  136. //-------------------------------------------------------------
  137. //          Изменить src всех фреймов в документе
  138. //-------------------------------------------------------------
  139.  
  140. for (var i=0; i<frames.length; i++)
  141.   {
  142.   frames[i].location="http://w3schools.com"
  143.   }
  144.  
  145. //-------------------------------------------------------------
  146. //     Получить ширину и высоту текущего окна (не учитывая тулбары и скроллбары)
  147. //-------------------------------------------------------------
  148.  
  149. var w=window.innerWidth;
  150. var h=window.innerHeight;
  151.  
  152. //-------------------------------------------------------------
  153. //       Создать всплывающее окно и вывести его имя
  154. //-------------------------------------------------------------
  155.  
  156. function openWin()
  157. {
  158. myWindow=window.open('','MsgWindow','width=200,height=100');
  159. myWindow.document.write("<p>This window's name is: " + myWindow.name + "</p>");
  160. }
  161.  
  162. //-------------------------------------------------------------
  163. //     Обращение к родителскому окну из всплывающего окна
  164. //-------------------------------------------------------------
  165.  
  166. function openWin()
  167. {
  168. myWindow=window.open('','','width=200,height=100');
  169. myWindow.document.write("This is 'myWindow'!");
  170. myWindow.focus();
  171. myWindow.opener.document.write("<p>This is the source window!</p>");
  172. }
  173.  
  174. //-------------------------------------------------------------
  175. //      Получить ширину и высоту текущего окна (учитывая тулбары и скроллбары)
  176. //-------------------------------------------------------------
  177.  
  178. var w=window.outerWidth;
  179. var h=window.outerHeight;
  180.  
  181. //-------------------------------------------------------------
  182. //     Получить расстояние в пикселах, на которое содержимое окна было прокручено
  183. //-------------------------------------------------------------
  184.  
  185. function scrollWindow()
  186.   {
  187.   window.scrollBy(100,100)
  188.   alert("pageXOffset: " + window.pageXOffset + ", pageYOffset: " + window.pageYOffset)
  189.   }
  190.  
  191. //-------------------------------------------------------------
  192. //    Обращение к родительскому окну из открытого всплывающего окна
  193. //-------------------------------------------------------------
  194.  
  195. function openWin()
  196. {
  197. window.open('','','width=200,height=100');
  198. alert(window.parent.location);
  199. }
  200.  
  201. //-------------------------------------------------------------
  202. //      Получить координаты текущего окна относительно экрана
  203. //-------------------------------------------------------------
  204. function openWin()
  205. {
  206. myWindow=window.open('','');
  207. myWindow.document.write("<p>This is 'myWindow'");
  208. myWindow.document.write("<br />ScreenLeft: " + myWindow.screenLeft);
  209. myWindow.document.write("<br />ScreenTop: " + myWindow.screenTop + "</p>");
  210. }
  211.  
  212. //-------------------------------------------------------------
  213. //    Получить координаты текущего окна относительно экрана (для FireFox)
  214. //-------------------------------------------------------------
  215.  
  216. function openWin()
  217. {
  218. myWindow=window.open('','');
  219. myWindow.document.write("<p>This is 'myWindow'");
  220. myWindow.document.write("<br />ScreenX: " + myWindow.screenX);
  221. myWindow.document.write("<br />ScreenY: " + myWindow.screenY + "</p>");
  222. }
  223.  
  224. //-------------------------------------------------------------
  225. //      Проверить является ли текущее окно основным окном или фреймом
  226. //-------------------------------------------------------------
  227.  
  228. function check()
  229. {
  230. if (window.top!=window.self)
  231.   {
  232.   document.write("<p>This window is not the topmost window! Am I in a frame?</p>")
  233.   }
  234. else
  235.   {
  236.   document.write("<p>This window is the topmost window!</p>")
  237.   }
  238. }
  239.  
  240. //-------------------------------------------------------------
  241. //           Убрать фокус с заданного окна
  242. //-------------------------------------------------------------
  243.  
  244. function openWin()
  245. {
  246. myWindow=window.open('','','width=200,height=100');
  247. myWindow.document.write("<p>The new window.</p>");
  248. myWindow.blur();
  249. }
  250.  
  251. //-------------------------------------------------------------
  252. //      Установка и снятие процедуры, запускающейся через
  253. //       определенные промежутки времени
  254. //-------------------------------------------------------------
  255.  
  256. <input type="text" id="clock" />
  257. <script language=javascript>
  258. var int=self.setInterval(function(){clock()},1000);
  259. function clock()
  260.   {
  261.   var d=new Date();
  262.   var t=d.toLocaleTimeString();
  263.   document.getElementById("clock").value=t;
  264.   }
  265. </script>
  266. </form>
  267. <button onclick="int=window.clearInterval(int)">Stop</button>
  268.  
  269. //-------------------------------------------------------------
  270. //     Установка и снятие процедуры, запускающейся по таймауту
  271. //-------------------------------------------------------------
  272.  
  273. var c=0;
  274. var t;
  275. var timer_is_on=0;
  276.  
  277. function timedCount()
  278.   {
  279.   document.getElementById('txt').value=c;
  280.   c=c+1;
  281.   t=setTimeout(function(){timedCount()},1000);
  282.   }
  283.  
  284. function doTimer()
  285.   {
  286.   if (!timer_is_on)
  287.     {
  288.     timer_is_on=1;
  289.     timedCount();
  290.     }
  291.   }
  292.  
  293. function stopCount()
  294.   {
  295.   clearTimeout(t);
  296.   timer_is_on=0;
  297.   }
  298.  
  299. //-------------------------------------------------------------
  300. //      Создание и последующее закрытие всплывающего окна
  301. //-------------------------------------------------------------
  302.  
  303. function openWin()
  304. {
  305. myWindow=window.open("","","width=200,height=100");
  306. myWindow.document.write("<p>This is 'myWindow'</p>");
  307. }
  308.  
  309. function closeWin()
  310. {
  311. myWindow.close();
  312. }
  313.  
  314. //-------------------------------------------------------------
  315. //        Вывод диалога подтверждения Да/Нет
  316. //-------------------------------------------------------------
  317.  
  318. function disp_confirm()
  319. {
  320. var r=confirm("Press a button!")
  321. if (r==true)
  322.   {
  323.   alert("You pressed OK!")
  324.   }
  325. else
  326.   {
  327.   alert("You pressed Cancel!")
  328.   }
  329. }
  330.  
  331. //-------------------------------------------------------------
  332. //        Создание всплывающего окна в IE
  333. //-------------------------------------------------------------
  334.  
  335. function show_popup()
  336. {
  337. var p=window.createPopup()
  338. var pbody=p.document.body
  339. pbody.style.backgroundColor="lime"
  340. pbody.style.border="solid black 1px"
  341. pbody.innerHTML="This is a pop-up! Click outside to close."
  342. p.show(150,150,200,50,document.body)
  343. }
  344.  
  345. //-------------------------------------------------------------
  346. //           Установка фокуса на заданное окно
  347. //-------------------------------------------------------------
  348.  
  349. function openWin()
  350. {
  351. myWindow=window.open('','','width=200,height=100');
  352. myWindow.document.write("<p>This is 'myWindow'</p>");
  353. myWindow.focus();
  354. }
  355.  
  356. //-------------------------------------------------------------
  357. //      Перемещение окна на заданное количество пикселов
  358. //-------------------------------------------------------------
  359.  
  360. function openWin()
  361. {
  362. myWindow=window.open('','','width=200,height=100');
  363. myWindow.document.write("<p>This is 'myWindow'</p>");
  364. }
  365.  
  366. function moveWin()
  367. {
  368. myWindow.moveBy(250,250);
  369. myWindow.focus();
  370. }
  371.  
  372. //-------------------------------------------------------------
  373. //         Перемещение окна в заданную позицию на экране
  374. //-------------------------------------------------------------
  375.  
  376. function openWin()
  377. {
  378. myWindow=window.open('','','width=200,height=100');
  379. myWindow.document.write("<p>This is 'myWindow'</p>");
  380. }
  381.  
  382. function moveWin()
  383. {
  384. myWindow.moveTo(0,0);
  385. myWindow.focus();
  386. }
  387.  
  388. //-------------------------------------------------------------
  389. //              Запуск всплывающего окна
  390. //-------------------------------------------------------------
  391.  
  392. function open_win()
  393. {
  394. window.open("http://www.w3schools.com")
  395. }
  396.  
  397. //-------------------------------------------------------------
  398. //             Распечатать текущую страницу
  399. //-------------------------------------------------------------
  400.  
  401. function printpage()
  402.   {
  403.   window.print()
  404.   }
  405.  
  406. //-------------------------------------------------------------
  407. //           Открытие диалога для ввода информации
  408. //-------------------------------------------------------------
  409.  
  410. function disp_prompt()
  411.   {
  412.   var fname=prompt("Please enter your name:","Your name")
  413.   document.getElementById("msg").innerHTML="Greetings " + fname
  414.   }
  415.  
  416. //-------------------------------------------------------------
  417. //       Изменить размер окна на заданное число пикселов
  418. //-------------------------------------------------------------
  419.  
  420. function resizeWindow()
  421.   {
  422.   window.resizeBy(100,100)
  423.   }
  424.  
  425. //-------------------------------------------------------------
  426. //                  Установить размеры окна
  427. //-------------------------------------------------------------
  428.  
  429. var w=window.open('','', 'width=100,height=100');
  430. w.resizeTo(500,500);
  431.  
  432. //-------------------------------------------------------------
  433. //        Прокрутка окна на заданное число пикселов
  434. //-------------------------------------------------------------
  435.  
  436. function scrollWindow()
  437.   {
  438.   window.scrollBy(100,100)
  439.   }
  440.  
  441. //-------------------------------------------------------------
  442. //            Прокрутка окна в заданную позицию
  443. //-------------------------------------------------------------
  444.  
  445. function scrollWindow()
  446.   {
  447.   window.scrollTo(100,500)
  448.   }
  449.  
  450. //-------------------------------------------------------------
  451. //          Установка выполнения функции по таймауту
  452. //-------------------------------------------------------------
  453.  
  454. var t=setTimeout(function(){alert("Hello")},3000)
  455.  
  456. //-------------------------------------------------------------
  457. //     Получить высоту и ширину экрана (без учета таскбара)
  458. //-------------------------------------------------------------
  459.  
  460. document.write("Available Height: " + screen.availHeight);
  461. document.write("Available Width: " + screen.availWidth);
  462.  
  463. //-------------------------------------------------------------
  464. //       Получить текущее цветовое разрешение экрана
  465. //-------------------------------------------------------------
  466.  
  467. document.write("Color Depth: " + screen.colorDepth);
  468. document.write("Color resolution: " + screen.pixelDepth);
  469.  
  470. //-------------------------------------------------------------
  471. //            Получить высоту и ширину экрана
  472. //-------------------------------------------------------------
  473.  
  474. document.write("Total Height: " + screen.height);
  475. document.write("Total Width: " + screen.width);
  476.  
  477. //-------------------------------------------------------------
  478. //        Получить информацию о браузере
  479. //-------------------------------------------------------------
  480.  
  481. document.write("CodeName: " + navigator.appCodeName);
  482. document.write("Name: " + navigator.appName);
  483. document.write("Version info: " + navigator.appVersion);
  484. document.write("Cookies enabled: " + navigator.cookieEnabled);
  485. document.write("Platform: " + navigator.platform);
  486. document.write("User-agent header sent: " + navigator.userAgent);
  487. var x=navigator.onLine;
  488.  
  489. //-------------------------------------------------------------
  490. //       Получить закладку текущего расположения
  491. //-------------------------------------------------------------
  492.  
  493. document.write(location.hash);
  494.  
  495. //-------------------------------------------------------------
  496. //       Получить имя хоста текущего расположения
  497. //-------------------------------------------------------------
  498.  
  499. document.write(location.host);
  500. document.write(location.hostname);
  501.  
  502. //-------------------------------------------------------------
  503. //     Получить адрес текущей открытой страницы (полный url)
  504. //-------------------------------------------------------------
  505.  
  506. document.write(location.href);
  507.  
  508. //-------------------------------------------------------------
  509. //     Получить адрес текущий открытой страницы (не включая имя хоста)
  510. //-------------------------------------------------------------
  511.  
  512. document.write(location.pathname);
  513.  
  514. //-------------------------------------------------------------
  515. //            Получить порт текущего подключения
  516. //-------------------------------------------------------------
  517.  
  518. document.write(location.port);
  519.  
  520. //-------------------------------------------------------------
  521. //        Получить протокол текущего подключения
  522. //-------------------------------------------------------------
  523.  
  524. document.write(location.protocol);
  525.  
  526. //-------------------------------------------------------------
  527. //      Возвращает параметры http запроса
  528. //     (?email=someone@example.com&action=test)
  529. //-------------------------------------------------------------
  530.  
  531. document.write(location.search);
  532.  
  533. //-------------------------------------------------------------
  534. //     Перенаправить текущее окно на новую страницу
  535. //-------------------------------------------------------------
  536.  
  537. window.location.assign("http://www.w3schools.com");
  538.  
  539. //-------------------------------------------------------------
  540. //     Перенаправить текущее окно на новую страницу (без сохранения history)
  541. //-------------------------------------------------------------
  542.  
  543. window.location.replace("http://www.w3schools.com");
  544.  
  545. //-------------------------------------------------------------
  546. //          Перезагрузить текущую страницу
  547. //-------------------------------------------------------------
  548.  
  549. location.reload(forceGet)
  550.  
  551. //-------------------------------------------------------------
  552. //           Получить длину списка истории
  553. //-------------------------------------------------------------
  554.  
  555. document.write("Number of URLs in history list: " + history.length);
  556.  
  557. //-------------------------------------------------------------
  558. //       Переместиться на предыдущую загруженную страницу
  559. //-------------------------------------------------------------
  560.  
  561. function goBack()
  562.   {
  563.   window.history.back()
  564.   }
  565.  
  566. //-------------------------------------------------------------
  567. //        Переместиться на следующую страницу
  568. //-------------------------------------------------------------
  569.  
  570. function goForward()
  571.   {
  572.   window.history.forward()
  573.   }
  574.  
  575. //-------------------------------------------------------------
  576. //    Перемещение по списку истории относительно текущей позиции
  577. //-------------------------------------------------------------
  578.  
  579. function goBack()
  580.   {
  581.   window.history.go(-2)
  582.   }
  583.  
  584. //-------------------------------------------------------------
  585. //         Получить количество ссылок в документе
  586. //-------------------------------------------------------------
  587.  
  588. document.write(document.anchors.length);
  589.  
  590. //-------------------------------------------------------------
  591. //        Вывести содержимое загруженных cookie
  592. //-------------------------------------------------------------
  593.  
  594. document.write(document.cookie);
  595.  
  596. //-------------------------------------------------------------
  597. //        Вывести имя домена текущего документа
  598. //-------------------------------------------------------------
  599.  
  600. document.write(document.domain);
  601.  
  602. //-------------------------------------------------------------
  603. //           Вывести количество форм в документе
  604. //-------------------------------------------------------------
  605.  
  606. document.write(document.forms.length);
  607.  
  608. //-------------------------------------------------------------
  609. //        Вывести количество изображений в документе
  610. //-------------------------------------------------------------
  611.  
  612. document.write(document.images.length);
  613.  
  614. //-------------------------------------------------------------
  615. //      Вывести дату и время последнего изменения текущего документа
  616. //-------------------------------------------------------------
  617.  
  618. document.write(document.lastModified);
  619.  
  620. //-------------------------------------------------------------
  621. //     Вывести количество элементов с аттрибутом href в текущем документе
  622. //-------------------------------------------------------------
  623.  
  624. document.write(document.links.length);
  625.  
  626. //-------------------------------------------------------------
  627. //      Вывести информацию о стадии загрузки текущего документа
  628. //-------------------------------------------------------------
  629.  
  630. document.write(document.readyState);
  631.  
  632. //-------------------------------------------------------------
  633. //          Вывести реферер текущего документа
  634. //-------------------------------------------------------------
  635.  
  636. document.write(document.referrer);
  637.  
  638. //-------------------------------------------------------------
  639. //         Вывести заголовок текущего документа
  640. //-------------------------------------------------------------
  641.  
  642. document.write(document.title);
  643.  
  644. //-------------------------------------------------------------
  645. //           Вывести URL текущего документа
  646. //-------------------------------------------------------------
  647.  
  648. document.write(document.URL);
  649.  
  650. //-------------------------------------------------------------
  651. //          Создание и закрытие нового документа
  652. //-------------------------------------------------------------
  653.  
  654. function createDoc()
  655.   {
  656.   var doc=document.open("text/html","replace");
  657.   var txt="<html><body>Learning about the HTML DOM is fun!</body></html>";
  658.   doc.write(txt);
  659.   doc.close();
  660.   }
  661.  
  662. //-------------------------------------------------------------
  663. //          Найти элементов по аттрибуту name
  664. //-------------------------------------------------------------
  665.  
  666. var x=document.getElementsByName("x");
  667. alert(x.length);
  668.  
  669. //-------------------------------------------------------------
  670. //              Запись в текущий документ
  671. //-------------------------------------------------------------
  672.  
  673. document.write("Hello World!");
  674. document.writeln("Have a nice day!");
  675.  
  676. //-------------------------------------------------------------
  677. //        Получить имя тэга заданного элемента
  678. //-------------------------------------------------------------
  679.  
  680. document.getElementById("demo").tagName;
  681.  
  682. //-------------------------------------------------------------
  683. //    Получить значение заданного аттрибута заданного элемента
  684. //-------------------------------------------------------------
  685.  
  686. document.getElementsByTagName("a")[0].getAttribute("target");
  687. document.getElementsByTagName("a")[0].getAttributeNode("target");
  688.  
  689. //-------------------------------------------------------------
  690. //       Получить список элементов с определенным тэгом
  691. //-------------------------------------------------------------
  692.  
  693. var list=document.getElementsByTagName("UL")[0]
  694. list.getElementsByTagName("LI")[0].innerHTML="Milk";
  695.  
  696. //-------------------------------------------------------------
  697. //         Проверить наличие аттрибута у элемента
  698. //-------------------------------------------------------------
  699.  
  700. document.getElementsByTagName("BUTTON")[0].hasAttribute("onclick");
  701.  
  702. //-------------------------------------------------------------
  703. //              Удалить аттрибут у элемента
  704. //-------------------------------------------------------------
  705.  
  706. document.getElementsByTagName("H1")[0].removeAttribute("style");
  707.  
  708. var n=document.getElementsByTagName("INPUT")[0];
  709. var a=n.getAttributeNode("type");
  710. n.removeAttributeNode(a);
  711.  
  712. //-------------------------------------------------------------
  713. //             Добавить атрибут элементу
  714. //-------------------------------------------------------------
  715.  
  716. document.getElementsByTagName("INPUT")[0].setAttribute("type","button");
  717.  
  718. var atr=document.createAttribute("class");
  719. atr.nodeValue="democlass";
  720. document.getElementsByTagName("H1")[0].setAttributeNode(atr);
  721.  
  722. //-------------------------------------------------------------
  723. //      Проверить, является ли заданный аттрибут id
  724. //-------------------------------------------------------------
  725.  
  726. document.getElementById("demo").attributes[0].isId;
  727.  
  728. //-------------------------------------------------------------
  729. //        Получить имя заданного аттрибута
  730. //-------------------------------------------------------------
  731.  
  732. document.getElementsByTagName("button")[0].attributes[0].name;
  733.  
  734. //-------------------------------------------------------------
  735. //      Получить элемента владельца заданного аттрибута
  736. //-------------------------------------------------------------
  737.  
  738. document.getElementById("demo").attributes[0].ownerElement;
  739.  
  740. //-------------------------------------------------------------
  741. //    Проверить, задано ли значение определенного аттрибута
  742. //-------------------------------------------------------------
  743.  
  744. document.getElementById("demo").attributes[0].specified;
  745.  
  746. //-------------------------------------------------------------
  747. //       Получить значение заданного аттрибута
  748. //-------------------------------------------------------------
  749.  
  750. document.getElementsByTagName("button")[0].attributes[0].value;
  751.  
  752. //-------------------------------------------------------------
  753. //         Обработка двойного клика на кнопку
  754. //-------------------------------------------------------------
  755.  
  756. <button ondblclick="copyText()">Copy Text</button>
  757.  
  758. //-------------------------------------------------------------
  759. //          Обработка нажатия кнопки мыши
  760. //-------------------------------------------------------------
  761.  
  762. <p onmousedown="mouseDown()">Click the text!</p>
  763.  
  764. //-------------------------------------------------------------
  765. //         Обработка события перемещения мыши
  766. //-------------------------------------------------------------
  767.  
  768. <img onmousemove="bigImg(this)" src="smiley.gif" alt="Smiley" />
  769.  
  770. //-------------------------------------------------------------
  771. //          Обработка события наведения мыши
  772. //-------------------------------------------------------------
  773.  
  774. <img onmouseover="bigImg(this)" src="smiley.gif" alt="Smiley" />
  775.  
  776. //-------------------------------------------------------------
  777. //    Обработка события потери выхода мыши за пределы элемента
  778. //-------------------------------------------------------------
  779.  
  780. <img onmouseout="normalImg(this)" src="smiley.gif" alt="Smiley" />
  781.  
  782. //-------------------------------------------------------------
  783. //         Обработка события отпускания кнопки мыши
  784. //-------------------------------------------------------------
  785.  
  786. <p onmouseup="mouseUp()">Click the text!</p>
  787.  
  788. //-------------------------------------------------------------
  789. //               Обработка событий клавиатуры
  790. //-------------------------------------------------------------
  791.  
  792. <input type="text" onkeydown="displayResult()" />
  793. <input type="text" onkeypress="displayResult()" />
  794. <input type="text" onkeyup="displayResult()" />
  795.  
  796. //-------------------------------------------------------------
  797. //            Обработка события загрузки документа
  798. //-------------------------------------------------------------
  799.  
  800. <body onload="load()">
  801.  
  802. //-------------------------------------------------------------
  803. //         Обработка события изменения размера окна
  804. //-------------------------------------------------------------
  805.  
  806. <body onresize="showMsg()">
  807.  
  808. //-------------------------------------------------------------
  809. //             Обработка события выгрузки документа
  810. //-------------------------------------------------------------
  811.  
  812. <body onunload="goodbye()">
  813.  
  814. //-------------------------------------------------------------
  815. //       Обработка события потери фокуса текстовым полем
  816. //-------------------------------------------------------------
  817.  
  818. <input type="text" id="fname" onblur="upperCase()">
  819.  
  820. //-------------------------------------------------------------
  821. //   Обработка события изменения содержимого текстового поля
  822. //-------------------------------------------------------------
  823.  
  824. <input type="text" id="fname" onchange="upperCase()" />
  825.  
  826. //-------------------------------------------------------------
  827. //      Обработка события получения фокуса текстовым полем
  828. //-------------------------------------------------------------
  829.  
  830. <input type="text" id="fname" onfocus="setStyle(this.id)">
  831.  
  832. //-------------------------------------------------------------
  833. //   Обработка события выделения текста в текстовом поле
  834. //-------------------------------------------------------------
  835.  
  836. <input type="text" onselect="showMsg() value="Hello world!" />
  837.  
  838. //-------------------------------------------------------------
  839. //    Проверить, является ли текущее событие всплывающим событием
  840. //-------------------------------------------------------------
  841.  
  842. function getEventType(event)
  843.  {
  844.  alert(event.bubbles);
  845.  }
  846.  
  847. //-------------------------------------------------------------
  848. //     Проверить, допускает ли событие отмену его стандартной обработки
  849. //-------------------------------------------------------------
  850.  
  851. function isEventCancelable(event)
  852.  {
  853.  alert(event.cancelable);
  854.  }
  855.  
  856. //-------------------------------------------------------------
  857. //    Выяснить элемент, перехвативший текущее событие (через listener)
  858. //-------------------------------------------------------------
  859.  
  860. function getEventTrigger(event)
  861.  {
  862.  var x=event.currentTarget;
  863.  alert("The id of the triggered element: "
  864.  + x.id);
  865.  }
  866.  
  867. //-------------------------------------------------------------
  868. //      Выяснить элемент, перехвативший текущее событие
  869. //-------------------------------------------------------------
  870.  
  871. function getEventTrigger(event)
  872.  {
  873.  var x=event.target;
  874.  alert("The id of the triggered element: "
  875.  + x.id);
  876.  }
  877.  
  878. //-------------------------------------------------------------
  879. //        Определяем тип перехваченного события
  880. //-------------------------------------------------------------
  881.  
  882. function getEventType(event)
  883.  {
  884.  alert(event.type);
  885.  }
  886.  
  887. //-------------------------------------------------------------
  888. //      Проверяем, была ли нажата клавиша alt при возникновении события
  889. //-------------------------------------------------------------
  890.  
  891. function isKeyPressed(event)
  892. {
  893. if (event.altKey==1)
  894.  {
  895.  alert("The ALT key was pressed!")
  896.  }
  897. else
  898.  {
  899.  alert("The ALT key was NOT pressed!")
  900.  }
  901. }
  902.  
  903. //-------------------------------------------------------------
  904. //     Проверяем, какая кнопка мыши была нажата при возникновении события
  905. //-------------------------------------------------------------
  906.  
  907. event.button=0|1|2
  908.  
  909. //-------------------------------------------------------------
  910. //    Определяем координаты мыши относительно текущего окна
  911. //    в обработчике события нажатия кнопки мыши
  912. //-------------------------------------------------------------
  913.  
  914. function show_coords(event)
  915.  {
  916.  var x=event.clientX
  917.  var y=event.clientY
  918.  alert("X coords: " + x + ", Y coords: " + y)
  919.  }
  920.  
  921. //-------------------------------------------------------------
  922. //     Проверяем, была ли нажата клавиша Ctrl при возникновении события
  923. //-------------------------------------------------------------
  924.  
  925. function isKeyPressed(event)
  926. {
  927.  if (event.ctrlKey==1)
  928.    {
  929.    alert("The CTRL key was pressed!")
  930.    }
  931.  else
  932.    {
  933.    alert("The CTRL key was NOT pressed!")
  934.    }
  935.  }
  936.  
  937. //-------------------------------------------------------------
  938. // Получаем элемент относящийся к элементу, возбудившему событие
  939. //-------------------------------------------------------------
  940.  
  941. function getRelElement(event)
  942.  {
  943.  var txt="The cursor just exited the ";
  944.  txt=txt + event.relatedTarget.tagName + " element.";
  945.  alert(txt);
  946.  }
  947.  
  948. //-------------------------------------------------------------
  949. //    определяем координаты мыши относительно экрана в обработчике события
  950. //-------------------------------------------------------------
  951.  
  952. var x=event.screenX
  953. var y=event.screenY
  954.  alert("X coords: " + x + ", Y coords: " + y)
  955.  
  956. //-------------------------------------------------------------
  957. //    проверяем была ли нажата клавиша shift при возникновении события
  958. //-------------------------------------------------------------
  959.  
  960. function isKeyPressed(event)
  961. {
  962. if (event.shiftKey==1)
  963.  {
  964.  alert("The shift key was pressed!")
  965.  }
  966. else
  967.  {
  968.  alert("The shift key was NOT pressed!")
  969.  }
  970. }
  971.  
  972. //-------------------------------------------------------------
  973. //           Создать секцию CDATA
  974. //-------------------------------------------------------------
  975.  
  976. xmlDoc=loadXMLDoc("books.xml");
  977.  
  978. x=xmlDoc.getElementsByTagName('book');
  979. var newCDATA,newtext;
  980.  
  981. newtext="Special Offer & Book Sale";
  982.  
  983. for (i=0;i<x.length;i++)
  984. {
  985. newCDATA=xmlDoc.createCDATASection(newtext);
  986. x[i].appendChild(newCDATA);
  987. }
  988.  
  989. //-------------------------------------------------------------
  990. //         Создать комментарий
  991. //-------------------------------------------------------------
  992.  
  993. xmlDoc=loadXMLDoc("books.xml");
  994.  
  995. x=xmlDoc.getElementsByTagName('book');
  996. var newComment,newtext;
  997. newtext="Revised April 2008";
  998.  
  999. for (i=0;i<x.length;i++)
  1000. {
  1001. newComment=xmlDoc.createComment(newtext);
  1002. x[i].appendChild(newComment);
  1003. }
  1004.  
  1005. //-------------------------------------------------------------
  1006. //              Создать элемент
  1007. //-------------------------------------------------------------
  1008.  
  1009. xmlDoc=loadXMLDoc("books.xml");
  1010.  
  1011. x=xmlDoc.getElementsByTagName('book');
  1012. var newel,newtext;
  1013.  
  1014. for (i=0;i<x.length;i++)
  1015. {
  1016. newel=xmlDoc.createElement('edition');
  1017. newtext=xmlDoc.createTextNode('First');
  1018. newel.appendChild(newtext);
  1019. x[i].appendChild(newel);
  1020. }
  1021.  
  1022. //-------------------------------------------------------------
  1023. //             Создать текстовый узел
  1024. //-------------------------------------------------------------
  1025.  
  1026. xmlDoc=loadXMLDoc("books.xml");
  1027.  
  1028. x=xmlDoc.getElementsByTagName('book');
  1029. var newel,newtext;
  1030.  
  1031. for (i=0;i<x.length;i++)
  1032. {
  1033. newel=xmlDoc.createElement('edition');
  1034. newtext=xmlDoc.createTextNode('First');v newel.appendChild(newtext);
  1035. x[i].appendChild(newel);
  1036. }
  1037.  
  1038. //-------------------------------------------------------------
  1039. //           Получить элементы по имени тэга
  1040. //-------------------------------------------------------------
  1041.  
  1042. xmlDoc=loadXMLDoc("books.xml");
  1043.  
  1044. x=xmlDoc.getElementsByTagName("title")[0]
  1045. y=x.childNodes[0];
  1046. document.write(y.nodeValue);
  1047.  
  1048. //Переименование узла
  1049.  
  1050. renameNode(node,uri,name)
  1051.  
  1052. //-------------------------------------------------------------
  1053. //           Получить DTD XML документа
  1054. //-------------------------------------------------------------
  1055.  
  1056. xmlDoc=loadXMLDoc("note_internal_dtd.xml");
  1057. document.write(xmlDoc.doctype);
  1058.  
  1059. //-------------------------------------------------------------
  1060. //        Получить корневой элемент XML документа
  1061. //-------------------------------------------------------------
  1062.  
  1063. xmlDoc=loadXMLDoc("books.xml");
  1064.  
  1065. x=xmlDoc.documentElement;
  1066.  
  1067. document.write("Nodename: " + x.nodeName + "<br />");
  1068. document.write("Nodevalue: " + x.nodeValue + "<br />");
  1069. document.write("Nodetype: " + x.nodeType);
  1070.  
  1071. //-------------------------------------------------------------
  1072. //       Получить DOM Implementation XML документа
  1073. //-------------------------------------------------------------
  1074.  
  1075. xmlDoc=loadXMLDoc("books.xml");
  1076. document.write(xmlDoc.implementation);
  1077.  
  1078. //-------------------------------------------------------------
  1079. //         Получить параметры XML документа
  1080. //-------------------------------------------------------------
  1081.  
  1082. xmlDoc=loadXMLDoc("books.xml");
  1083.  
  1084. document.write("XML encoding: " + xmlDoc.xmlEncoding);
  1085. document.write("<br />");
  1086. document.write("XML standalone: " + xmlDoc.xmlStandalone);
  1087. document.write("<br />");
  1088. document.write("XML version: " + xmlDoc.xmlVersion);
  1089. document.write("<br />");
  1090. document.write("Encoding when parsing: " + xmlDoc.inputEncoding);
  1091.  
  1092. //-------------------------------------------------------------
  1093. //          Получить кодировку заданной ссылки
  1094. //-------------------------------------------------------------
  1095.  
  1096. <html>
  1097. <body>
  1098.  
  1099. <p><a id="w3s" charset="ISO-8859-1"
  1100. href="http://www.w3schools.com">W3Schools.com</a></p>
  1101.  
  1102. <script>
  1103. document.write(document.getElementById("w3s").charset);
  1104. </script>
  1105.  
  1106. </body>
  1107. </html>
  1108.  
  1109. //-------------------------------------------------------------
  1110. //          Получить href заданной ссылки
  1111. //-------------------------------------------------------------
  1112.  
  1113. document.write(document.getElementById("w3s").href);
  1114.  
  1115. //-------------------------------------------------------------
  1116. //       Получить hreflang заданной ссылки
  1117. //-------------------------------------------------------------
  1118.  
  1119. <html>
  1120. <body>
  1121.  
  1122. <p><a id="w3s" hreflang="us-en"
  1123. href="http://www.w3schools.com/">W3Schools.com</a></p>
  1124.  
  1125. <script>
  1126. document.write(document.getElementById("w3s").hreflang);
  1127. </script>
  1128.  
  1129. </body>
  1130. </html>
  1131.  
  1132. //-------------------------------------------------------------
  1133. //        Получить аттрибут name заданной ссылки
  1134. //-------------------------------------------------------------
  1135.  
  1136. document.write("Return name of anchor: ");
  1137. document.write(document.getElementById("c3").name);
  1138.  
  1139. //-------------------------------------------------------------
  1140. //          Установить target заданной ссылки
  1141. //-------------------------------------------------------------
  1142.  
  1143. document.getElementById('w3s').target="_blank";
  1144.  
  1145. //-------------------------------------------------------------
  1146. //      Получить type заданной ссылки
  1147. //-------------------------------------------------------------
  1148.  
  1149. <html>
  1150. <body>
  1151.  
  1152. <p><a id="w3s" type="text/html"
  1153. href="http://www.w3schools.com">W3Schools</a></p>
  1154.  
  1155. <script>
  1156. document.write(document.getElementById("w3s").type);
  1157. </script>
  1158.  
  1159. </body>
  1160. </html>
  1161.  
  1162. //-------------------------------------------------------------
  1163. //      Обработка события загрузки документа
  1164. //-------------------------------------------------------------
  1165.  
  1166. <html>
  1167. <head>
  1168. <script>
  1169. function load()
  1170. {
  1171. alert("Page is loaded");
  1172. }
  1173. </script>
  1174. </head>
  1175.  
  1176. <body onload="load()">
  1177. <h1>Hello World!</h1>
  1178. </body>
  1179. </html>
  1180.  
  1181. //-------------------------------------------------------------
  1182. //            Сделать кнопку неактивной
  1183. //-------------------------------------------------------------
  1184.  
  1185. document.getElementById("firstbtn").disabled=true;
  1186.  
  1187. //-------------------------------------------------------------
  1188. //    Определить id формы, которой принадлежит кнопка
  1189. //-------------------------------------------------------------
  1190.  
  1191. document.write(document.getElementById("button1").form.id);
  1192.  
  1193. //-------------------------------------------------------------
  1194. //            Получить имя кнопки
  1195. //-------------------------------------------------------------
  1196.  
  1197. document.write(document.getElementById("button1").name);
  1198.  
  1199. //-------------------------------------------------------------
  1200. //             Вывести тип кнопки
  1201. //-------------------------------------------------------------
  1202.  
  1203. function alertType()
  1204. {
  1205. alert(document.getElementById("myButton").type)
  1206. }
  1207.  
  1208. //-------------------------------------------------------------
  1209. //        Вывести значение(текст) кнопки
  1210. //-------------------------------------------------------------
  1211.  
  1212. document.write(document.getElementById("button1").value);
  1213.  
  1214. //-------------------------------------------------------------
  1215. // Вывести текущие значения всех элементов заданной формы
  1216. //-------------------------------------------------------------
  1217.  
  1218. <html>
  1219. <body>
  1220.  
  1221. <form id="frm1" action="form_action.asp">
  1222. First name: <input type="text" name="fname" value="Donald" /><br />
  1223. Last name: <input type="text" name="lname" value="Duck" /><br />
  1224. <input type="submit" value="Submit" />
  1225. </form>
  1226.  
  1227. <script>
  1228. var x=document.getElementById("frm1");
  1229. for (var i=0;i<x.length;i++)
  1230.   {
  1231.   document.write(x.elements[i].value);
  1232.   document.write("<br />");
  1233.   }
  1234. </script>
  1235.  
  1236. </body>
  1237. </html>
  1238.  
  1239. //-------------------------------------------------------------
  1240. //   Вывести кодировку accept-charset заданной формы
  1241. //-------------------------------------------------------------
  1242.  
  1243. <html>
  1244. <body>
  1245.  
  1246. <form id="frm1" accept-charset="ISO-8859-1">
  1247. First name: <input type="text" name="fname" value="Donald" /><br />
  1248. Last name: <input type="text" name="lname" value="Duck" /><br />
  1249. </form>
  1250.  
  1251. <script>
  1252. document.write(document.getElementById("frm1").acceptCharset)
  1253. </script>
  1254.  
  1255. </body>
  1256. </html>
  1257.  
  1258. //-------------------------------------------------------------
  1259. //    Вывести action заданной формы
  1260. //-------------------------------------------------------------
  1261.  
  1262. <html>
  1263. <body>
  1264.  
  1265. <form id="frm1" action="form_action.asp">
  1266. First name: <input type="text" name="fname" value="Donald" /><br />
  1267. Last name: <input type="text" name="lname" value="Duck" /><br />
  1268. <input type="submit" value="Submit" />
  1269. </form>
  1270.  
  1271. <script>
  1272. document.write(document.getElementById("frm1").action);
  1273. </script>
  1274.  
  1275. </body>
  1276. </html>
  1277.  
  1278. //-------------------------------------------------------------
  1279. //  Вывести enctype заданной формы
  1280. //-------------------------------------------------------------
  1281.  
  1282. <html>
  1283. <body>
  1284.  
  1285. <form>
  1286. <form id="frm1" enctype="text/plain">
  1287. First name: <input type="text" name="fname" value="Donald" /><br />
  1288. Last name: <input type="text" name="lname" value="Duck" /><br />
  1289. </form>
  1290.  
  1291. <script>
  1292. document.write(document.getElementById("frm1").enctype);
  1293. </script>
  1294.  
  1295. </body>
  1296. </html>
  1297.  
  1298. //-------------------------------------------------------------
  1299. //  Вывести количество элементов заданной формы
  1300. //-------------------------------------------------------------
  1301.  
  1302. <html>
  1303. <body>
  1304.  
  1305. <form id="frm1" action="form_action.asp">
  1306. First name: <input type="text" name="fname" value="Donald" /><br />
  1307. Last name: <input type="text" name="lname" value="Duck" /><br />
  1308. <input type="submit" value="Submit" />
  1309. </form>
  1310.  
  1311. <script>
  1312. document.write(document.getElementById("frm1").length);
  1313. </script>
  1314.  
  1315. </body>
  1316. </html>
  1317.  
  1318. //-------------------------------------------------------------
  1319. //  Вывести method заданной формы
  1320. //-------------------------------------------------------------
  1321.  
  1322. <html>
  1323. <body>
  1324.  
  1325. <form id="frm1" action="form_action.asp" method="get">
  1326. First name: <input type="text" name="fname" value="Donald" /><br />
  1327. Last name: <input type="text" name="lname" value="Duck" /><br />
  1328. <input type="submit" value="Submit" />
  1329. </form>
  1330.  
  1331. <script>
  1332. document.write(document.getElementById("frm1").method);
  1333. </script>
  1334.  
  1335. </body>
  1336. </html>
  1337.  
  1338. //-------------------------------------------------------------
  1339. //  Вывести имя заданной формы
  1340. //-------------------------------------------------------------
  1341.  
  1342. <html>
  1343. <body>
  1344.  
  1345. <form id="frm1" name="form1">
  1346. First name: <input type="text" name="fname" value="Donald" /><br />
  1347. Last name: <input type="text" name="lname" value="Duck" /><br />
  1348. </form>
  1349.  
  1350. <script>
  1351. document.write(document.getElementById("frm1").name);
  1352. </script>
  1353.  
  1354. </body>
  1355. </html>
  1356.  
  1357. //-------------------------------------------------------------
  1358. //  Вывести target заданной формы
  1359. //-------------------------------------------------------------
  1360.  
  1361. <html>
  1362. <body>
  1363.  
  1364. <form id="frm1" action="form_action.asp" target="_blank">
  1365. First name: <input type="text" name="fname" value="Donald" /><br />
  1366. Last name: <input type="text" name="lname" value="Duck" /><br />
  1367. <input type="submit" value="Submit" />
  1368. </form>
  1369.  
  1370. <script>
  1371. document.write(document.getElementById("frm1").target);
  1372. </script>
  1373.  
  1374. </body>
  1375.  
  1376. //-------------------------------------------------------------
  1377. //     Программный сброс reset содержимого формы
  1378. //-------------------------------------------------------------
  1379.  
  1380. <html>
  1381. <head>
  1382. <script>
  1383. function formReset()
  1384. {
  1385. document.getElementById("frm1").reset();
  1386. }
  1387. </script>
  1388. </head>
  1389. <body>
  1390.  
  1391. <form id="frm1">
  1392. First name: <input type="text" name="fname" /><br />
  1393. Last name: <input type="text" name="lname" /><br />
  1394. <input type="button" onclick="formReset()" value="Reset form" />
  1395. </form>
  1396.  
  1397. </body>
  1398. </html>
  1399.  
  1400. //-------------------------------------------------------------
  1401. //         Программный submit формы
  1402. //-------------------------------------------------------------
  1403.  
  1404. <html>
  1405. <head>
  1406. <script>
  1407. function formSubmit()
  1408. {
  1409. document.getElementById("frm1").submit();
  1410. }
  1411. </script>
  1412. </head>
  1413. <body>
  1414.  
  1415. <form id="frm1" action="form_action.asp">
  1416. First name: <input type="text" name="fname" /><br />
  1417. Last name: <input type="text" name="lname" /><br />
  1418. <input type="button" onclick="formSubmit()" value="Submit form" />
  1419. </form>
  1420.  
  1421. </body>
  1422. </html>
  1423.  
  1424. //-------------------------------------------------------------
  1425. //           Обработка события onreset формы
  1426. //-------------------------------------------------------------
  1427.  
  1428. <form onreset="alert('The form will be reset')">
  1429. Firstname: <input type="text" name="fname" value="Donald" /><br />
  1430. Lastname: <input type="text" name="lname" value="Duck" /><br /><br />
  1431. <input type="reset" value="Reset" />
  1432. </form>
  1433.  
  1434. //-------------------------------------------------------------
  1435. //        Обработка события onsubmit формы
  1436. //-------------------------------------------------------------
  1437.  
  1438. <html>
  1439. <head>
  1440. <script>
  1441. function greeting()
  1442. {
  1443. alert("Welcome " + document.forms["frm1"]["fname"].value + "!")
  1444. }
  1445. </script>
  1446. </head>
  1447. <body>
  1448.  
  1449. What is your name?<br />
  1450. <form name="frm1" action="submit.htm" onsubmit="greeting()">
  1451. <input type="text" name="fname" />
  1452. <input type="submit" value="Submit" />
  1453. </form>
  1454.  
  1455. </body>
  1456. </html>
  1457.  
  1458. //-------------------------------------------------------------
  1459. //       Выровнять iframe по правому краю
  1460. //-------------------------------------------------------------
  1461.  
  1462. document.getElementById("myframe").align="right";
  1463.  
  1464. //-------------------------------------------------------------
  1465. //         Изменить цвет фона содержимого iframe
  1466. //-------------------------------------------------------------
  1467.  
  1468. function changeStyle()
  1469. {
  1470. var x=document.getElementById("myframe");
  1471. var y=(x.contentWindow || x.contentDocument);
  1472. if (y.document)y=y.document;
  1473. y.body.style.backgroundColor="#0000ff";
  1474. }
  1475.  
  1476. //-------------------------------------------------------------
  1477. //        Вывод информации о рамке фрейма
  1478. //-------------------------------------------------------------
  1479.  
  1480. document.write(document.getElementById("myframe").frameBorder);
  1481.  
  1482. //-------------------------------------------------------------
  1483. //          Изменение рамки фрейма
  1484. //-------------------------------------------------------------
  1485.  
  1486. function removeBorder()
  1487. {
  1488. document.getElementById("myframe").frameBorder="0";
  1489. }
  1490.  
  1491. //-------------------------------------------------------------
  1492. //        Изменить ширину и высоту iframe
  1493. //-------------------------------------------------------------
  1494.  
  1495. function changeSize()
  1496. {
  1497. document.getElementById("myframe").height="300";
  1498. document.getElementById("myframe").width="300";
  1499. }
  1500.  
  1501. //-------------------------------------------------------------
  1502. //       выводим значения отступов iframe
  1503. //-------------------------------------------------------------
  1504.  
  1505. document.write(document.getElementById("myframe").marginHeight);
  1506. document.write(document.getElementById("myframe").marginWidth);
  1507.  
  1508. //-------------------------------------------------------------
  1509. //      выводим имя элемента iframe
  1510. //-------------------------------------------------------------
  1511.  
  1512. document.write(document.getElementById("myframe").name);
  1513.  
  1514. //-------------------------------------------------------------
  1515. //    устанавливаем и снимаем запрет на изменение размеров iframe
  1516. //-------------------------------------------------------------
  1517.  
  1518. function disableResize()
  1519.   {
  1520.   parent.document.getElementById("leftFrame").noResize=true
  1521.   parent.document.getElementById("rightFrame").noResize=true
  1522.   }
  1523. function enableResize()
  1524.   {
  1525.   parent.document.getElementById("leftFrame").noResize=false
  1526.   parent.document.getElementById("rightFrame").noResize=false
  1527.   }
  1528.  
  1529. //-------------------------------------------------------------
  1530. //     удаление скроллбаров в iframe
  1531. //-------------------------------------------------------------
  1532.  
  1533. function removeScroll()
  1534. {
  1535. document.getElementById("myframe").scrolling="no";
  1536. }
  1537.  
  1538. //-------------------------------------------------------------
  1539. //    загрузка нового документа в iframe
  1540. //-------------------------------------------------------------
  1541.  
  1542. function changeSrc()
  1543. {
  1544. document.getElementById("myframe").src="http://google.com";
  1545. }
  1546.  
  1547. //-------------------------------------------------------------
  1548. //     обработка события onload в iframe
  1549. //-------------------------------------------------------------
  1550.  
  1551. <html>
  1552. <head>
  1553. <script>
  1554. function load()
  1555. {
  1556. alert("Frame is loaded");
  1557. }
  1558. </script>
  1559. </head>
  1560.  
  1561. <frameset cols="50%,50%">
  1562.   <frame src="frame_a.htm" onload="load()" />
  1563.   <frame src="frame_b.htm" />
  1564. </frameset>
  1565.  
  1566. </html>
  1567.  
  1568. //-------------------------------------------------------------
  1569. //     изменение выравнивания изображения
  1570. //-------------------------------------------------------------
  1571.  
  1572. function alignImg()
  1573. {
  1574. document.getElementById("compman").align="right";
  1575. }
  1576.  
  1577. //-------------------------------------------------------------
  1578. //  получить аттрибут alt изображения
  1579. //-------------------------------------------------------------
  1580.  
  1581. document.write(document.getElementById("compman").alt);
  1582.  
  1583. //-------------------------------------------------------------
  1584. //  изменение рамки изображения
  1585. //-------------------------------------------------------------
  1586.  
  1587. function addBorder()
  1588. {
  1589. document.getElementById("compman").border="2";
  1590. }
  1591.  
  1592. //-------------------------------------------------------------
  1593. //  вывести статус загрузки изображения
  1594. //-------------------------------------------------------------
  1595.  
  1596. function alertComplete()
  1597. {
  1598. alert("Image loaded: " + document.getElementById("compman").complete);
  1599. }
  1600.  
  1601. //-------------------------------------------------------------
  1602. //  установить ширину и высоту изображения
  1603. //-------------------------------------------------------------
  1604.  
  1605. function changeSize()
  1606. {
  1607. document.getElementById("compman").height="250";
  1608. document.getElementById("compman").width="300";
  1609. }
  1610.  
  1611. //-------------------------------------------------------------
  1612. //  установить vspace и hspace изображения
  1613. //-------------------------------------------------------------
  1614.  
  1615. function setSpace()
  1616. {
  1617. document.getElementById("compman").hspace="50";
  1618. document.getElementById("compman").vspace="50";
  1619. }
  1620.  
  1621. //-------------------------------------------------------------
  1622. // вывести значение аттрибута longdesc изображения
  1623. //-------------------------------------------------------------
  1624.  
  1625. var x=document.getElementById("compman");
  1626. document.write(document.getElementById("compman").longDesc);
  1627.  
  1628. //-------------------------------------------------------------
  1629. //   используем аттрибут lowsrc (low resolution) изображения
  1630. //-------------------------------------------------------------
  1631.  
  1632. var x=document.getElementById("compman");
  1633. document.write('<a href="' + x.lowsrc + '">Low resolution</a>');
  1634.  
  1635. //-------------------------------------------------------------
  1636. //         выводим аттрибут name изображения
  1637. //-------------------------------------------------------------
  1638.  
  1639. document.write("Image name: ");
  1640. document.write(document.getElementById('compman').name);
  1641.  
  1642. //-------------------------------------------------------------
  1643. //      загружаем другое изображение в элемент img
  1644. //-------------------------------------------------------------
  1645.  
  1646. function changeSrc()
  1647.   {
  1648.   document.getElementById("myImage").src="hackanm.gif";
  1649.   }
  1650.  
  1651. //-------------------------------------------------------------
  1652. //       обработка события onabort изображения
  1653. //-------------------------------------------------------------
  1654.  
  1655. <img src="image_w3default.gif" onabort="abortImage()" />
  1656.  
  1657. //-------------------------------------------------------------
  1658. //       обработка события onerror изображения
  1659. //-------------------------------------------------------------
  1660.  
  1661. <img src="image.gif" onerror="alert('The image could not be loaded.')" />
  1662.  
  1663. //-------------------------------------------------------------
  1664. //       обработка события onload изображения
  1665. //-------------------------------------------------------------
  1666.  
  1667. <img src="w3javascript.gif" onload="loadImage()" />
  1668.  
  1669. //-------------------------------------------------------------
  1670. //        установка и сброс элемента checkbox формы
  1671. //-------------------------------------------------------------
  1672.  
  1673. function check()
  1674.   {
  1675.   document.getElementById("check1").checked=true
  1676.   }
  1677. function uncheck()
  1678.   {
  1679.   document.getElementById("check1").checked=false
  1680.   }
  1681.  
  1682. //-------------------------------------------------------------
  1683. //   проверка, является ли checkbox установленным по дефолту
  1684. //-------------------------------------------------------------
  1685.  
  1686. <html>
  1687. <head>
  1688. <script>
  1689. function displayResult()
  1690. {
  1691. var x=document.getElementById("myCheck").defaultChecked;
  1692. alert(x);
  1693. }
  1694. </script>
  1695. </head>
  1696. <body>
  1697.  
  1698. <form>
  1699. <input type="checkbox" id="myCheck" checked="checked" />Do you like summer?
  1700. </form>
  1701.  
  1702. <button type="button" onclick="displayResult()">Is the checkbox checked by default?</button>
  1703.  
  1704. </body>
  1705. </html>
  1706.  
  1707. //-------------------------------------------------------------
  1708. //    проверка допустимых типов файлов в элементе выбора файла формы
  1709. //-------------------------------------------------------------
  1710.  
  1711. <html>
  1712. <head>
  1713. <script>
  1714. function displayResult()
  1715. {
  1716. var x=document.getElementById("fname").accept;
  1717. alert(x);
  1718. }
  1719. </script>
  1720. </head>
  1721. <body>
  1722.  
  1723. <form id="form1">
  1724. Select a file to upload:
  1725. <input type="file" id="fname" size="50" accept="video/*" />
  1726. </form>
  1727.  
  1728. <button type="button" onclick="displayResult()">Display accepted file types</button>
  1729.  
  1730. </body>
  1731. </html>
  1732.  
  1733. //-------------------------------------------------------------
  1734. //   определение значения по умолчанию текстового поля формы
  1735. //-------------------------------------------------------------
  1736.  
  1737. <html>
  1738. <head>
  1739. <script>
  1740. function displayResult()
  1741. {
  1742. var x=document.getElementById("email").defaultValue;
  1743. alert(x);
  1744. }
  1745. </script>
  1746. </head>
  1747. <body>
  1748.  
  1749. <form>
  1750. Email: <input type="text" id="email" value="someone@example.com" />
  1751. </form>
  1752.  
  1753. <button type="button" onclick="displayResult()">Display default value</button>
  1754.  
  1755. </body>
  1756. </html>
  1757.  
  1758. //-------------------------------------------------------------
  1759. //    определение максимальной длины текстового поля формы
  1760. //-------------------------------------------------------------
  1761.  
  1762. <html>
  1763. <head>
  1764. <script>
  1765. function displayResult()
  1766. {
  1767. var x=document.getElementById("email").maxLength;
  1768. alert(x);
  1769. }
  1770. </script>
  1771. </head>
  1772. <body>
  1773.  
  1774. <form>
  1775. Email: <input type="text" id="email" maxlength="30" />
  1776. </form>
  1777.  
  1778. <button type="button" onclick="displayResult()">Display max number of characters allowed</button>
  1779.  
  1780. </body>
  1781. </html>
  1782.  
  1783. //-------------------------------------------------------------
  1784. //   устанавливаем режим read-only для текстового поля формы
  1785. //-------------------------------------------------------------
  1786.  
  1787. <html>
  1788. <head>
  1789. <script>
  1790. function setResult()
  1791. {
  1792. document.getElementById("email").readOnly=true;
  1793. }
  1794. </script>
  1795. </head>
  1796. <body>
  1797.  
  1798. <form>
  1799. Email: <input type="text" id="email" />
  1800. </form>
  1801.  
  1802. <button type="button" onclick="setResult()">Set read-only</button>
  1803.  
  1804. </body>
  1805. </html>
  1806.  
  1807. //-------------------------------------------------------------
  1808. //       устанавливаем ширину текстового поля формы
  1809. //-------------------------------------------------------------
  1810.  
  1811. <head>
  1812. <script>
  1813. function setResult()
  1814. {
  1815. document.getElementById("email").size=40;
  1816. }
  1817. </script>
  1818. </head>
  1819. <body>
  1820.  
  1821. <form>
  1822. Email: <input type="text" id="email" />
  1823. </form>
  1824.  
  1825. <button type="button" onclick="setResult()">Set width</button>
  1826.  
  1827. </body>
  1828. </html>
  1829.  
  1830. //-------------------------------------------------------------
  1831. //      выделяем содержимое текстового поля формы
  1832. //-------------------------------------------------------------
  1833.  
  1834. <html>
  1835. <head>
  1836. <script>
  1837. function myFunction()
  1838. {
  1839. document.getElementById("email").select();
  1840. }
  1841. </script>
  1842. </head>
  1843. <body>
  1844.  
  1845. <form>
  1846. Email: <input type="text" id="email" value="someone@example.com" />
  1847. </form>
  1848.  
  1849. <button type="button" onclick="myFunction()">Select content</button>
  1850.  
  1851. </body>
  1852. </html>
  1853.  
  1854. //-------------------------------------------------------------
  1855. //  проверяем, является ли элемент выбранным по умолчанию в радиогруппе
  1856. //-------------------------------------------------------------
  1857.  
  1858. <html>
  1859. <head>
  1860. <script>
  1861. function displayResult()
  1862. {
  1863. var x=document.getElementById("blue").defaultChecked;
  1864. alert(x);
  1865. }
  1866. </script>
  1867. </head>
  1868. <body>
  1869.  
  1870. <form>
  1871. What color do you prefer?<br />
  1872. <input type="radio" name="colors" id="red" />Red<br />
  1873. <input type="radio" name="colors" id="blue" checked="checked" />Blue<br />
  1874. <input type="radio" name="colors" id="green" />Green
  1875. </form>
  1876.  
  1877. <button type="button" onclick="displayResult()">Is "Blue" checked by default?</button>
  1878.  
  1879. </body>
  1880. </html>
  1881.  
  1882. //-------------------------------------------------------------
  1883. //  проверяем, является ли элемент выбранным в радиогруппе
  1884. //-------------------------------------------------------------
  1885.  
  1886. <html>
  1887. <head>
  1888. <script>
  1889. function check()
  1890.   {
  1891.   document.getElementById("red").checked=true
  1892.   }
  1893. function uncheck()
  1894.   {
  1895.   document.getElementById("red").checked=false
  1896.   }
  1897. </script>
  1898. </head>
  1899. <body>
  1900.  
  1901. <form>
  1902. What color do you prefer?<br />
  1903. <input type="radio" name="colors" id="red" />Red<br />
  1904. <input type="radio" name="colors" id="blue" />Blue<br />
  1905. <input type="radio" name="colors" id="green" />Green
  1906. </form>
  1907.  
  1908. <button type="button" onclick="check()">Check "Red"</button>
  1909. <button type="button" onclick="uncheck()">Uncheck "Red"</button>
  1910.  
  1911. </body>
  1912. </html>
  1913.  
  1914. //-------------------------------------------------------------
  1915. //   вывести содержимое всех meta тэгов в документе
  1916. //-------------------------------------------------------------
  1917.  
  1918. <html>
  1919. <head>
  1920. <meta name="keywords" content="HTML, DHTML, CSS, XHTML, JavaScript" />
  1921. <meta name="description" content="Free Web tutorials" />
  1922. <meta name="author" content="Hege Refsnes" />
  1923. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  1924.  
  1925. <script>
  1926. function displayResult()
  1927. {
  1928. var x=document.getElementsByTagName("meta");
  1929. var txt="";
  1930. for (var i=0;i<x.length;i++)
  1931. {
  1932. txt=txt+"Content of "+(i+1)+". meta tag: "+x[i].content+"<br />";
  1933. }
  1934. document.getElementById("result").innerHTML=txt;
  1935. }
  1936. </script>
  1937.  
  1938. </head>
  1939. <body>
  1940.  
  1941. <button type="button" onclick="displayResult()">Display Meta Content</button>
  1942.  
  1943. <p id="result"></p>
  1944.  
  1945. </body>
  1946. </html>
  1947.  
  1948. //-------------------------------------------------------------
  1949. //  получить индекс и текст выбранного элемента в списке select
  1950. //  проверяем, выделен ли элемент, который выделен в списке по дефолту
  1951. //-------------------------------------------------------------
  1952.  
  1953. <html>
  1954. <head>
  1955. <script>
  1956. function displayResult()
  1957. {
  1958. var x=document.getElementById("mySelect").selectedIndex;
  1959. var y=document.getElementById("mySelect").options;
  1960. alert("Index: " + y[x].index + " is " + y[x].text);
  1961. }
  1962. </script>
  1963. </head>
  1964. <body>
  1965.  
  1966. <form>
  1967. Select your favorite fruit:
  1968. <select id="mySelect">
  1969.   <option>Apple</option>
  1970.   <option>Orange</option>
  1971.   <option>Pineapple</option>
  1972.   <option>Banana</option>
  1973. </select>
  1974. </form>
  1975.  
  1976. <button type="button" onclick="displayResult()">Display index</button>
  1977.  
  1978. </body>
  1979. </html>
  1980.  
  1981. //-------------------------------------------------------------
  1982. //    выводим количество элементов в списке select
  1983. //-------------------------------------------------------------
  1984.  
  1985. <html>
  1986. <head>
  1987. <script>
  1988. function displayResult()
  1989. {
  1990. alert(document.getElementById("mySelect").length);
  1991. }
  1992. </script>
  1993. </head>
  1994. <body>
  1995.  
  1996. <form>
  1997. <select id="mySelect">
  1998.   <option>Apple</option>
  1999.   <option>Pear</option>
  2000.   <option>Banana</option>
  2001.   <option>Orange</option>
  2002. </select>
  2003. </form>
  2004.  
  2005. <button type="button" onclick="displayResult()">How many options?</button>
  2006.  
  2007. </body>
  2008. </html>
  2009.  
  2010. //-------------------------------------------------------------
  2011. //  устанавливаем режим мультивыбора для элемента select
  2012. //-------------------------------------------------------------
  2013.  
  2014. <html>
  2015. <head>
  2016. <script>
  2017. function displayResult()
  2018.   {
  2019.   document.getElementById("mySelect").multiple=true;
  2020.   }
  2021. </script>
  2022. </head>
  2023. <body>
  2024.  
  2025. <form>
  2026. <select id="mySelect" size="4">
  2027.   <option>Apple</option>
  2028.   <option>Pear</option>
  2029.   <option>Banana</option>
  2030.   <option>Orange</option>
  2031. </select>
  2032. </form>
  2033.  
  2034. <button type="button" onclick="displayResult()">Allow multiple selection</button>
  2035.  
  2036. </body>
  2037. </html>
  2038.  
  2039. //-------------------------------------------------------------
  2040. //  устанавливаем число одновременно видимых элементов
  2041. //   в выпадающем списке select
  2042. //-------------------------------------------------------------
  2043.  
  2044. <html>
  2045. <head>
  2046. <script>
  2047. function displayResult()
  2048.   {
  2049.   document.getElementById("mySelect").size=4;
  2050.   }
  2051. </script>
  2052. </head>
  2053. <body>
  2054.  
  2055. <form>
  2056. <select id="mySelect">
  2057.   <option>Apple</option>
  2058.   <option>Pear</option>
  2059.   <option>Banana</option>
  2060.   <option>Orange</option>
  2061. </select>
  2062. </form>
  2063.  
  2064. <button type="button" onclick="displayResult()">Change size</button>
  2065.  
  2066. </body>
  2067. </html>
  2068.  
  2069. //-------------------------------------------------------------
  2070. //      добавляем элемент в конец списка select
  2071. //-------------------------------------------------------------
  2072.  
  2073. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2074. <html>
  2075. <head>
  2076. <script>
  2077. function displayResult()
  2078. {
  2079. var x=document.getElementById("mySelect");
  2080. var option=document.createElement("option");
  2081. option.text="Kiwi";
  2082. try
  2083.   {
  2084.   // for IE earlier than version 8
  2085.   x.add(option,x.options[null]);
  2086.   }
  2087. catch (e)
  2088.   {
  2089.   x.add(option,null);
  2090.   }
  2091. }
  2092. </script>
  2093. </head>
  2094. <body>
  2095.  
  2096. <form>
  2097. <select id="mySelect">
  2098.   <option>Apple</option>
  2099.   <option>Pear</option>
  2100.   <option>Banana</option>
  2101.   <option>Orange</option>
  2102. </select>
  2103. </form>
  2104.  
  2105. <button type="button" onclick="displayResult()">Insert option</button>
  2106.  
  2107. </body>
  2108. </html>
  2109.  
  2110. //-------------------------------------------------------------
  2111. //   удаляем выделенный элемент из списка select
  2112. //-------------------------------------------------------------
  2113.  
  2114. <html>
  2115. <head>
  2116. <script>
  2117. function removeOption()
  2118. {
  2119. var x=document.getElementById("mySelect");
  2120. x.remove(x.selectedIndex);
  2121. }
  2122. </script>
  2123. </head>
  2124. <body>
  2125.  
  2126. <form>
  2127. <select id="mySelect">
  2128.   <option>Apple</option>
  2129.   <option>Pear</option>
  2130.   <option>Banana</option>
  2131.   <option>Orange</option>
  2132. </select>
  2133. <input type="button" onclick="removeOption()" value="Remove option">
  2134. </form>
  2135.  
  2136. </body>
  2137. </html>
  2138.  
  2139. //-------------------------------------------------------------
  2140. //       устанавливаем ширину элемента textarea
  2141. //-------------------------------------------------------------
  2142. <html>
  2143. <head>
  2144. <script>
  2145. function displayResult()
  2146. {
  2147. var textarea=document.getElementById("myTextarea");
  2148. textarea.cols=document.getElementById("myInput").value;
  2149. }
  2150. </script>
  2151. </head>
  2152. <body>
  2153.  
  2154. <textarea id="myTextarea" cols="20">
  2155. At W3Schools you will find all the Web-building tutorials you need, from basic HTML to advanced XML, SQL, ASP, and PHP.
  2156. </textarea>
  2157. <br />
  2158.  
  2159. <p>Set cols attribute value: <input type="text" id="myInput" value="60" />
  2160. <button type="button" onclick="displayResult()">Change cols attribute</button></p>
  2161.  
  2162. </body>
  2163. </html>
  2164.  
  2165. //-------------------------------------------------------------
  2166. //       устанавливаем высоту элемента textarea
  2167. //-------------------------------------------------------------
  2168. <html>
  2169. <head>
  2170. <script>
  2171. function displayResult()
  2172. {
  2173. document.getElementById("myTextarea").rows=10;
  2174. }
  2175. </script>
  2176. </head>
  2177. <body>
  2178.  
  2179. <textarea id="myTextarea" cols="20">
  2180. At W3Schools you will find all the Web-building tutorials you need, from basic HTML to advanced XML, SQL, ASP, and PHP.
  2181. </textarea>
  2182. <br />
  2183.  
  2184. <button type="button" onclick="displayResult()">Change number of visible rows</button>
  2185.  
  2186. </body>
  2187. </html>
  2188.  
  2189. //-------------------------------------------------------------
  2190. //       выделяем содержимое textarea
  2191. //-------------------------------------------------------------
  2192. <html>
  2193. <head>
  2194. <script>
  2195. function displayResult()
  2196. {
  2197. document.getElementById("myTextarea").select();
  2198. }
  2199. </script>
  2200. </head>
  2201. <body>
  2202.  
  2203. <textarea id="myTextarea" cols="20">
  2204. At W3Schools you will find all the Web-building tutorials you need, from basic HTML to advanced XML, SQL, ASP, and PHP.
  2205. </textarea>
  2206. <br />
  2207.  
  2208. <button type="button" onclick="displayResult()">Select contents of text area</button>
  2209.  
  2210. </body>
  2211. </html>
  2212.  
  2213. //-------------------------------------------------------------
  2214. //    выводим значение по умолчанию для элемента textarea
  2215. //-------------------------------------------------------------
  2216. <html>
  2217. <head>
  2218. <script>
  2219. function displayResult()
  2220. {
  2221. alert(document.getElementById("myTextarea").defaultValue);
  2222. }
  2223. </script>
  2224. </head>
  2225. <body>
  2226.  
  2227. <textarea id="myTextarea" cols="20">
  2228. At W3Schools you will find all the Web-building tutorials you need, from basic HTML to advanced XML, SQL, ASP, and PHP.
  2229. </textarea>
  2230. <br />
  2231.  
  2232. <button type="button" onclick="displayResult()">Alert default value</button>
  2233.  
  2234. </body>
  2235. </html>
  2236.  
  2237. //-------------------------------------------------------------
  2238. //  выводим количество ячеек в первом ряду заданной таблицы
  2239. //-------------------------------------------------------------
  2240.  
  2241. <html>
  2242. <head>
  2243. <script>
  2244. function displayResult()
  2245. {
  2246. alert(document.getElementById("myTable").rows[0].cells.length);
  2247. }
  2248. </script>
  2249. </head>
  2250. <body>
  2251.  
  2252. //-------------------------------------------------------------
  2253. //      выводим количество строк в таблице
  2254. //-------------------------------------------------------------
  2255. <html>
  2256. <head>
  2257. <script>
  2258. function displayResult()
  2259. {
  2260. alert(document.getElementById("myTable").rows.length);
  2261. }
  2262. </script>
  2263. </head>
  2264. <body>
  2265.  
  2266. <table id="myTable" border="1">
  2267.   <tr>
  2268.     <td>cell 1</td>
  2269.     <td>cell 2</td>
  2270.   </tr>
  2271.   <tr>
  2272.     <td>cell 3</td>
  2273.     <td>cell 4</td>
  2274.   </tr>
  2275. </table>
  2276. <br />
  2277. <button type="button" onclick="displayResult()">Show number of rows in table</button>
  2278.  
  2279. </body>
  2280. </html>
  2281. <table id="myTable" border="1">
  2282.   <tr>
  2283.     <td>cell 1</td>
  2284.     <td>cell 2</td>
  2285.   </tr>
  2286.   <tr>
  2287.     <td>cell 3</td>
  2288.     <td>cell 4</td>
  2289.   </tr>
  2290. </table>
  2291. <br />
  2292. <button type="button" onclick="displayResult()">Show number of cells</button>
  2293.  
  2294. </body>
  2295. </html>
  2296.  
  2297. //-------------------------------------------------------------
  2298. //    выводим количество элементов tBodies в таблице
  2299. //-------------------------------------------------------------
  2300. <html>
  2301. <head>
  2302. <script>
  2303. function displayResult()
  2304. {
  2305. alert(document.getElementById("myTable").tBodies.length);
  2306. }
  2307. </script>
  2308. </head>
  2309. <body>
  2310.  
  2311. <table id="myTable" border="1">
  2312.   <tbody>
  2313.     <tr>
  2314.       <td>cell 1</td>
  2315.       <td>cell 2</td>
  2316.     </tr>
  2317.   </tbody>
  2318.   <tbody>
  2319.     <tr>
  2320.       <td>cell 3</td>
  2321.       <td>cell 4</td>
  2322.     </tr>
  2323.   </tbody>
  2324. </table>
  2325. <br />
  2326. <button type="button" onclick="displayResult()">Show number of tbodies in table</button>
  2327.  
  2328. </body>
  2329. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement