Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

JavaScript для начинающих. Изучаем с нуля. Javascript как прекрасная возможность для создания удобного


Тема выпуска: Javascript как прекрасная возможность для создания удобного интерфейса

Вопрос #1

function setSpanClick(){
    //как же получить значение this.array[i]
    //как же получить значение свойств/методов obj()
}
function func(){
    for ( i = 0; i < spans.length; i++ ) {
        this.array[i] = {
        id: "индетификатор"+i,
        name: "имя"+i};
    }
    spans[i].onclick = this.setSpanClick;
}
functionobj(){
    this.array = [];
    this.func = func;
    this.setSpanClick = setSpanClick;
}

var object = new obj();

Как и ожидается, setSpanClick получает указатель this на spans[i], но в данном случае это меня не интересует. Вопрос: как в setSpanClick можно дотянуться до методов/свойств obj() и конкретному хэшу this.array[i].

Ответ #1

Никак, так как делать это некорректно. Если уж нужна подобная структура, то необходимо написать класс, а если нет, то, я не вижжу таких задач где это может быть востребовано, в крайнем случае следует обращаться напрямую к переменной, ссылающейся на объект, в вашем случае object.

Вопрос #2

Вставляю код в <head> в виде:

<script>
    document.write("<script src='imgfade.js'></scr"+"ipt>");
</script> //(код затемнения картинки)
//либо
<script type="text/javascript" src="imgfade.js"></script>

В осле работает, а в мозиле не пашет, хоть убей.... Пробовал и URL прописывать в пути, тот же результат... Как заставить мозилу читать именно ссылку на файл? Ежели между <script type="text/javascript"> и </script> вставить нужный скрипт, то все работает, но не хочется все захламлять. Нужно именно прочтение кода по ссылке. Спасибо.

Ответ #2

Довольно странный случай, так как как минимум второй вариант должен работать всегда ( общепринятые нормы ). Возможно у вас проблемы с Mozill'ой, тогда следует загрузить свежую версию браузера. Но мне кажется, что вы просто неправильно офрмили страницу ( не закрыли тег head, нет body и т.д.)

Вопрос #3

Диманический select вызывает проблему:
есть два селекта и две кнопки:

<select size="5" id="select">
    <option value="1">параметр 1</option>
    <option value="2">параметр 2</option>
    <option value="3">параметр 3</option>
</select>
<select size="1" id="add_select">
    <option value="4">параметр 4</option>
    <option value="5">параметр 5</option>
</select>
<input name="button" type="button" value="add">
<input type="button" value="del" onclick="delete_item()">

Задача такая: по нажатию на del элемент из первого select должен переместиться во второй, а по add - наоборот - элемент из второго должен появиться в первом. попробовал сделать так, но не фурычит:

<script>
function delete_item()
{
    sel = document.getElementById( "select" );
    fchild = sel.firstChild;
    new_child = fchild.cloneNode( true );
    sel.removeChild( fchild );
    add_sel = document.getElementById( "add_select" );
    add_sel = appendChild( new_child );
}
</script>

подскажите где ошибка плз. Заранее благодарю

Ответ #3

Все очень просто, вы неверно вызываете последнюю функцию:

<script>
function delete_item()
{
    sel = document.getElementById( "select" );
    fchild = sel.firstChild;
    new_child = fchild.cloneNode( true );
    sel.removeChild( fchild );
    add_sel = document.getElementById( "add_select" );
    add_sel.appendChild( new_child );
}
</script>

Вопрос #4

Есть вот такой html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>AJAX</title>
<meta content="no-cache" charset="utf-8">
<script type="text/javascript" src="quickstart.js"></script>
</head>
<body onload='process()'>
Введите значение:
<input type="text" id="myName">
<div id="divMessage"></div>
</body>
</html>

divMessage - возвращает результат из скрипта в страничку, в таком виде все работает если вместо него пишу <input type="text" id="divMessage"> - значение выводится в Maxthon, IE - не выдает ничего, что не так? php на выходе выдает формат xml Как и ожидается, setSpanClick получает указатель this на spans[i], но в данном случае это меня не интересует. Вопрос: как в setSpanClick можно дотянуться до методов/свойств obj() и конкретному хэшу this.array[i].

Ответ #4

По приведенному коду много не скажешь, единственное, что я могу отметить, это то, что вероятнее всего вы вносите значение в элемент с id divMessage с помощью метода innerHTML, но для элементов типа input необходимо обращаться к свойству value.

Вопрос #5

Подскажите, пожалуйста, можно ли средствами JavaScript (или другим чудесным способом) сделать поиск на своем сайте? Сайт сделан на голом Html, никаких БД. Проблема в том, что сайт интранетовский, внутренний, лежит на сервере фирмы, поэтому обращаться к гуглу и яндексу бесполезно. Буду благодарна за любую информацию.

Ответ #5

Думаю можно, но на большую функциональность от подобного метода реализации не стоит расчитывать. Такие скрипты можно найти, например на woweb.ru.



В избранное