Все ленты — последние статьи

Дерево на JavaScript

 

Описание: Давно не выкладывал скрипты на JavaScript. И в этот раз решил всё-таки этим заняться и выложить простой, но в то же время популярный скрипт дерева на языке JavaScript.

Результат:

  • Овощи
  • Фрукты
    • Яблоки
      • Антоновка
      • Апорт
    • Апельсины
  • Ягоды

Код JavaScript (вставлять между тегами <head> и </head>):

<script type="text/javascript">
 
function tree(target) {
   
var ul = target.parentNode.getElementsByTagName("ul").item(0);
    ul
.style.display = (ul.style.display == "block")? "none": "block";
 
}
</script>

Код HTML (вставлять между тегами <body> и </body>):

<ul>
 
<li>Овощи</li>
 
<li>
   
<span style="color: #00f; cursor: pointer;" onclick="tree(this)">Фрукты</span>
   
<ul style="display: none;">
     
<li>
       
<span style="color: #00f; cursor: pointer;" onclick="tree(this)">Яблоки</span>
       
<ul style="display: none;">
         
<li>Антоновка</li>
         
<li>Апорт</li>
     
</ul>
     
</li>
     
<li>Апельсины</li>
   
</ul>
 
</li>
 
<li>Ягоды</li>
</ul>

Обновление данных на страницы без перезагрузки страницы

Обновление данных на страницы без перезагрузки страницы 


Вот рабочая версия:
function refreshPage()
{
res = httpGet("status.php");
if (res)
{
parser = new DOMParser();
doc = parser.parseFromString(res, "text/html");
if (doc)
{
ids = ["timestamp","station","ap"];
while (id = ids.pop())
{
document.getElementById(id).innerHTML = doc.getElementById(id).innerHTML;
}
}
}
setTimeout(refreshPage,60000);
return true;

Настоящие ассоциативные массивы в JavaScript

Использование литерала объекта, как простого средства для хранения пар ключ-значение давно стало обычным делом в JavaScript. Тем не менее, литерал объекта всё же не является настоящим ассоциативным массивом и по этому, в некоторых ситуациях, его использование может привести к неожиданным результатам. Пока JS не предоставляет нативную реализацию ассоциативных массивов (не во всех браузерах, по крайней мере), существует отличная альтернатива объектам, с нужной функциональностью и без подводных камней.

Проблема с объектами


Проблема заключается в цепочке прототипов. Любой новый объект наследует свойства и методы от Object.prototype, которые могут помешать нам однозначно определить существование ключа. Возьмем для примера метод toString, проверка наличия ключа с таким же именем, с помощью оператора in приведет к ложноположительному результату:

var map = {};
'toString' in map; // true

Подробнее: Настоящие ассоциативные массивы в JavaScript

AJAX и JavaScript. Загрузка контента без перезагрузки страницы

 

AJAX и JavaScript. Загрузка контента без перезагрузки страницы

Автор: Михаил Пестречихин
Источник: http://www.codething.ru/ajax_js.php

В данной статье речь пойдет о том, как сделать обновление контента без перезагрузки страницы, используя только JavaScript.

AJAX — инструмент для построения веб-приложений, обменивающихся данными с сервером в фоновом режиме. При этом пользователь получает приложение с динамическим обновлением контента, без перезагрузки всей страницы. Как видно из аббревиатуры, основным элементом AJAX является язык программирования JavaScript. На нем-то мы и реализуем возможность загрузки контента без перезагрузки страницы.

Подробнее: AJAX и JavaScript. Загрузка контента без перезагрузки страницы