Скрипт выбор из списка и переход JavaScript. Списки javascript
Связанный список в JavaScript
JavaScript has an array data type that acts like different data structures. It can be a list, a stack, or even a queue depending on how you use it. If this code is merely for learning purposes, then it's fine. Otherwise, try using available native data structures instead of reinventing them.
Now to your code. First off, I would suggest against using constructors and use basic object literals and functions instead. It is simpler to think of data simply as a structure of arrays and objects.
this.addVery vague name. It's not clear whether we're adding a new node (where we pass in a new instance of Node) or adding a value (that the method will wrap for us, which it currently does). It's best if you make it more verbose, like addValue.
if(this.length == 0)length is a function of the number of nodes in the list. A common problem I had in data structures class is if the length value was out of sync with the actual node count value. This made very interesting bugs when length and the actual node count didn't match up.
To get the length, it's better, although inefficient, to actually count the nodes present. Alternatively, a list without a head is essentially an empty list. if(!this.head) is sufficient to determine an empty list.
temp = this.head; while(temp.next){ temp = temp.next; }This can be extracted to a findTail function which can be really useful. Alternatively, keeping track of the tail like you're doing with head is also a convenient and more efficient way to do this. Not sure if there are standards to linked lists, but it's an optimization you can take advantage.
this.search = function (value){}I don't really get the point of search. Is it supposed to just print a message if it exists? If it does, it's better named like printMessageIfValueExists. Otherwise, one would take it as a function that takes a value and returns a boolean representing its existence.
Also, a linked list best remain a data structure. It shouldn't handle printing as this makes it dependent on printing capabilities of the environment, an unnecessarily coupled dependency. Leave that to whatever code is using the linked list. Same goes for your print method.
Again, another one of those vaguely-named functions. Why? It's because we're not sure what "remove" exactly means. It could mean removing the value or removing the node entirely. I see that it's removing a node, so it should be removeNodeAtIndex.
codereview.stackovernet.com
Событие | Обработчик события | Поддерживающие HTML-элементы | Описание |
События мыши |
|||
click | onClick | * Практически все HTML-элементы | Одинарный щелчок (нажата и отпущена кнопка мыши) |
dblclick | onDblClick | * Практически все HTML-элементы | Двойной щелчок |
contextmenu | onContextmenu | * Практически все HTML-элементы | Щелчок правой кнопкой мыши на элементе |
selectstart | onselectstart | * Практически все HTML-элементы | Начало выделения контента. Изменение выделения скриптом. |
mousewheel | onMousewheel | * Практически все HTML-элементы | Нажата кнопка мыши в пределах текущего элемента |
mousemove | onMouseMove | * Практически все HTML-элементы | Перемещение курсора мыши в пределах текущего элемента |
mouseout | onMouseOut | * Практически все HTML-элементы | Курсор мыши выведен за пределы текущего элемента |
mouseover | onMouseOver | * Практически все HTML-элементы | Курсор мыши наведен на текущий элемент |
mouseup | onMouseUp | * Практически все HTML-элементы | Отпущена кнопка мыши в пределах текущего элемента |
mousedown | onMouseDown | * Практически все HTML-элементы | Нажата кнопка мыши в пределах текущего элемента |
События клавиатуры |
|||
keydown | onKeyDown | * Практически все HTML-элементы | Нажата клавиша на клавиатуре |
keypress | onKeyPress | * Практически все HTML-элементы | Нажата и отпущена клавиша на клавиатуре |
keyup | onKeyUp | * Практически все HTML-элементы | Отпущена клавиша на клавиатуре |
|
|||
focus | onFocus | A, AREA, BUTTON, INPUT, LABEL, SELECT, TEXTAREA | Получение элементом фокуса (щелчок мышью на элементе или очередное нажатие клавиши табуляции) |
blur | onBlur | A, AREA, BUTTON, INPUT, LABEL, SELECT, TEXTAREA | Потеря текущим элементом фокуса, т.е. переход к другому элементу. Возникает при щелчке мышью вне элемента либо нажатии клавиши табуляции |
change | onChange | INPUT, SELECT, TEXTAREA | Изменение значений элементов формы. Возникает после потерей элементом фокуса, т.е. после события blur |
reset | onReset | FORM | Сброс данных формы ( щелчок по кнопке <input type="reset"> ) |
select | onSelect | INPUT, TEXTAREA | Выделение текста в текущем элементе |
submit | onSubmit | FORM | Отправка данных формы ( щелчок по кнопке <input type="submit"> ) |
abort | onAbort | IMG, input type="img" | Прерывание загрузки изображения |
|
|||
load | onLoad | BODY, FRAMESET | Закончена загрузка документа |
unload | onUnload | BODY, FRAMESET | Попытка закрытия окна браузера и выгрузки документа |
error | onError | IMG, WINDOW | Возникновение ошибки выполнения сценария |
move | onMove | WINDOW | Перемещение окна |
resize | onResize | WINDOW | Изменение размеров окна |
scroll | onScroll | * Практически все HTML-элементы | Прокрутка окна или области |
oddler.ru
Javascript: Создаём зависимые списки с помощью jQuery и AJAX
Зависимые списки — это два и более select-a, в которых список одного select-a зависит от выбранного значения другого. Например выбрав в первом списке страну, второй список заполняется городами выбранной страны.
Такой приём очень популярен ВКонтакте и других соц. сетях.
Сейчас мы создадим простой зависимый список Область → Город.
Для начала нам понадобится список областей и городов в формате
<?php // файл city.php $city = array ( 'Москва и Московская обл.' => array ( 0 => 'Москва', 1 => 'Абрамцево', // ... ), 'Санкт-Петербург и область' => array ( 0 => 'Санкт-Петербург', 1 => 'Александровская', // ... ), // ... ); ?>При выборе области, сработает функция loadCity, которая подгрузит список городов. Определим её:
function loadCity(select) { var citySelect = $('select[name="city"]'); // послыаем AJAX запрос, который вернёт список городов для выбранной области $.getJSON('index.php', {action:'getCity', region:select.value}, function(cityList){ citySelect.html(''); // очищаем список городов // заполняем список городов новыми пришедшими данными $.each(cityList, function(i){ citySelect.append('<option value="' + i + '">' + this + '</option>'); }); }); }Ну и php скрипт который отдаст в JSON формате список городов конкретной области:
<?php // файл index.php require_once('city.php'); if (isset($_GET['action']) && $_GET['action'] == 'getCity') { if (isset($city[$_GET['region']])) { echo json_encode($city[$_GET['region']]); // возвращаем данные в JSON формате; } else { echo json_encode(array('Выберите область')); } exit; } ?>Пример + Архив с исходниками.
Похожие записиxandeadx.ru
Скрипт выбор из списка и переход JavaScript
Суть данного скрипта состоит в том, что у нас есть поле со списком, из которого мы выбираем пункт, жмем на кнопку и переходим по ссылке. Давайте сделаем.Для начала напишем код функции перехода:<script language="JavaScript" type="text/javascript">function gotolink(what){var selectedopt=what.options[what.selectedIndex]if (document.getElementById && selectedopt.getAttribute("target")=="newwin"){window.open(selectedopt.value)}else{window.location=selectedopt.value}}</script>Код скрипта готов, теперь создаем простую форму<form name="gogogo"><select name="select"><option value="#">Выберите сайт...</option><option value="http://www.yandex.ru">yandex</option><option value="http://www.google.ru" target="newwin">google</option><option value="http://www.net-f.ru">нэтфорс</option></select><input type="button" value="Перейти"></form>Как видите в Google мы добавили параметр target="newwin", благодаря которому, при переходе по ссылке Google будет открыт в новом окне, при переходе по остальным ссылкам, они будут открываться в том же окне, выбирайте сами, что вам больше подходит.
СправочникДобро пожаловать в справочник по современному javascript! Информация также доступна напрямую по ссылкам: http://javascript.ru/Array/slice. Вы также можете скачать оффлайн-версию справочника в формате CHMОбъектыКратко | Подробно Стандартные объекты
Объекты браузера
Глобальные методыКратко | Подробно
Глобальные свойстваКратко | Подробно
Синтаксические конструкцииКратко | Подробно
ОператорыКратко | Подробно
|
|
javascript.ru