Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_Lab_PIZ_1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
474.62 Кб
Скачать
  1. Завдання до лабораторної роботи

  1. На веб-сторінці, розробленій в межах лабораторної роботи №2 виконати вправу 1.

  2. На веб-сторінці, розробленій в межах лабораторної роботи №2 виконати вправу 2.

  3. На веб-сторінці, розробленій в межах лабораторної роботи №2 виконати одне з таких завдань:

    1. Розробити сценарій, при якому відразу після завантаження сторінки відображалось би діалогове вікно з повідомленням.

    2. Розробити скрипт, який створює вікна фіксованого розміру для завантажень документів за посиланнями.

    3. Розробити сценарій, при якому діалогове вікно з повідомленням відображалось би після кліку користувача на кнопці форми.

    4. Створити сценарій, коли пропонується користувачу в діалоговому вікні ввести його ім’я, а після цього вітати його по імені. Вітання повинно відображатись в основній частині сторінки.

    5. Створити скрипт, у вікні якого після завантаження сторінки автоматично виводиться адреса URL поточної сторінки.

  4. Створити схему програми для гри “хрестики – нулики”.

  1. Контрольні запитання

  1. Які типи даних використовуються в JavaScript? Навести приклади.

  2. Які оператори структурного програмування використовуються в JavaScript? Навести приклади.

  3. Масив у JavaScript. Навести приклади.

  4. Переваги та недоліки масивів у JavaScript. Навести приклади.

  5. Які об’єкти є в JavaScript?

  6. Порівняльний аналіз операторів циклів у JavaScript.

Лабораторна робота № 4 Тема: Опрацювання подій в JavaScript Мета: Оволодіти структурою та методами мови JavaScript для опрацювання подій.

  1. Різні способи розміщення коду JavaScript.

Мова HTML має елементи із спеціальними атрибутами – подіями. Функції JavaScript використовують як обробники цих подій.

onclick – одна з основних подій HTML.

Код на JavaScript для опрацювання подій unobtrusive (in the HTML) є поганим стилем (змішує зміст та поведінку).

Обробники подій в старому стилі

<body>

<button id="ok" onclick="okay();">Click me</button>

...

// викликається при натисканні кнопки OK

function okay() {

var button = document.getElementById("ok");

button.style.color = "red";

}

Обробник з елементами DOM

<body>

<button id="ok">Click me</button>

...

window.onload = initializeBody; // глобальний код

// викликається при завантаженні сторінки, описує обробники події; sets up all event handlers

function initializeBody() {

document.getElementById("ok").onclick = okay;

}

function okay() {

this.style.color = "red";

}

unobtrusive Javascript вживати краще через розділення змісту сторінки на три категорії:

  • зміст (HTML);

  • представлення (CSS)

  • поведінку (Javascript).

Сторінка не забивається кодом опрацювання та стилістикою.

Подія window.onload

window.onload = name;

// встановлює обробника події

function name() {

set up any necessary event handlers using the DOM

}

Схема опрацювання події така:

window.onload = initializeBody;

function initializeBody() {

var name = document.getElementById("ok");

name.event = function;

...

}

Події миші

  • Для клікання на мишу DOM об’єкти мають такі властивості:

onmousedown: натискання;

onmouseup: відпускання;

onclick: натискання – відпускання;

ondblclick: подвійне клікання.

  • Під час руху

onmouseover : курсор миші входить на елемент;

onmouseout : курсор миші виходить з елемента;

onmousemove : курсор миші рухається в межах об’єкта;

myElement.onmousemove = myFunction;

Приклад подій від миші

<div id="dare">Click me ... I dare you!</div>

function initializeBody() {

document.getElementById("dare").onmousedown = colorIt;

}

function colorIt() {

this.style.backgroundColor = "red";

}

В обробнику ключове слово this позначає той самий елемент document.getElementById

<div id="dare">Click me ... I dare you!</div>

function initializeBody() {

var dareDiv = document.getElementById("dare");

dareDiv.onmousedown = colorIt;

dareDiv.onmouseup = uncolorIt;

}

function colorIt() {

this.style.backgroundColor = "red";

}

function uncolorIt() {

this.style.backgroundColor = "transparent";

}

Або

function colorIt(event) {

this.style.backgroundColor = "red";

this.innerHTML = "You clicked (" + event.screenX +

", " + event.screenY + ")");

}

Властивості об’єкта події

type : "click" чи "mousedown"

same : назва корисна при опрацюванні багатьох подій.

clientX, clientY : координати зверху наліво

screenX, screenY : координати зверху ліворуч на екрані

Якщо події в браузерах несумісні, то можна використати елементи стандартизації :

function handleClick(event) {

event = standardizeEvent(event);

...

}

// направити несумісність

function standardizeEvent(event) {

var e = event || window.event;

e.srcElement = e.srcElement || e.target;

return e;

}

Розглянемо приклад :

<div id="gum"><img src="gum.png" alt="gum" />

Double your pleasure, <em>double your fun</em>!</div>

function initializeBody() {

document.getElementById("gum").ondblclick = doBorder;

}

function doBorder(event) {

event = standardizeEvent(event);

event.srcElement.style.border = "2px dashed blue";

}

Клавіатура под ії – властивості

  • onkeydown: натискання клавіші для елемента у фокусі;

  • onkeyup: відпускання клавіші для елемента у фокусі;

  • onkeypress: натискання і відпускання клавіші для елемента у фокусі;

  • onfocus: елемент у фокус ставить клавіатуру;

  • onblur: елемент втрачає фокус на клавіатуру.

Властивості такі: keyCode: ASCII значення клавіші, перетворення до букви: String.fromCharCode(event.keyCode)

Список значень клавіші

  • altKey: true, якщо Alt key тримається;

  • ctrlKey: true, якщо Ctrl key тримається;

  • shiftKey: true, якщо Shift key тримається.

Приклад одержання занесених даних

// обробник події window.onload

document.getElementById("mytextbox").onkeypress = keyPress;

function keyPress(event) {

event = standardizeEvent(event);

if (event.keyCode == 13) {

// коде 13 – Enter

do something;

}

}

Події Tex box для тегу <input type="text">, <textarea>

  • onselect: текст text box вибрано;

  • onchange: зміст в text box змінився.

Події браузера

  • onload: завантаження;

  • onunload: сторінка існує;

  • onresize: вікно браузера змінюється;

  • onerror: під час завантаження документа чи зображення сталася помилка.

Під час програмування основними помилками є:

  • Неправильні слова

window.onload = initalizeBody; // помилка

...

function initializeBody() {

var theDiv = document.getElementById("puzzlearea");

...

}

  • Неправильне розташування дужок

function foo() {

...

function bar() {

...

}

  • () в обробнику подій (при під’єднанні обробника подій подається тільки його назва)

myObject.onclick = handleClick(); // неправильно!

myObject.onclick = handleClick; // краще

Поставивши дужки () після назви функції, її викликають відразу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]