Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2013, 05:39
Кандидат Javascript-наук
Отправить личное сообщение для фонарик Посмотреть профиль Найти все сообщения от фонарик
 
Регистрация: 23.02.2013
Сообщений: 127

Случай с подсказками
Доброго времени суток. Подскажите пожалуйста, как правильнее всего поступать в таком случае. У меня есть скрипт, который содержит необходимые подсказки всех встречаемых элементов на странице. Очень удобно, и в самом html меньше буковок. Но встретил такую беду - если на странице нет элемента, которому скрипт хочет присвоить подсказку - то скрипт на этой строчке останавливается. Например:
<style type="text/css">
#wood, #stone, #food {width:50px; height:22px; border:1px solid red; background: #999999; position:absolute; ; top: 21px; cursor:pointer; text-align:center}
#wood{left: 50px}
#stone{left: 120px;}
#food{left: 190px;}
</style>
 
<div id="wood">wood</div>
<div id="stone">stone</div>
<div id="food">food</div>

<script>
wood.title='ёлка'
UnkownObject.title='Тау-кита'
thereIsNoMe.title='грабли'
stone.title='камушек'
food.title='Корм'
</script>
В данном случае подсказка будет только у блока wood. Как нужно оформить всё это дело, чтобы был общий скрипт со всеми подсказками для нужных элементов, которых около 200, чтобы данная схема работала? Сейчас скрипт остановится, если нет элемента на странице, которому присваивается подсказка. Т.е если первого элемента из скрипта нет на странице - то скрипт остановится, так и не начавшись. А хочется чтобы при отсутствии элемента скрипт не обижался и не расстраивался, чтобы присвоил всё-таки подсказки присутствующим элементам.
Ответить с цитированием
  #2 (permalink)  
Старый 22.03.2013, 06:14
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

var wood = document.getElementById('wood');
if(wood) wood.title = 'ёлка'




Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

Последний раз редактировалось megaupload, 22.03.2013 в 06:17.
Ответить с цитированием
  #3 (permalink)  
Старый 22.03.2013, 06:34
Кандидат Javascript-наук
Отправить личное сообщение для фонарик Посмотреть профиль Найти все сообщения от фонарик
 
Регистрация: 23.02.2013
Сообщений: 127

Вы правы, javascript я знаю плохо, но у меня была проблема не в отсутствии решения как такового. Да, присвоить в переменную элемент и проверить есть ли он там - дело нехитрое. Вы считаете, что это правильно и практично делать так для каждой из 200 подсказок? Я просто подумал, что возможно есть более хитрый и простой способ. Хотя, также возможно что я ошибаюсь.
Ответить с цитированием
  #4 (permalink)  
Старый 22.03.2013, 09:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Товарищ, вы тот еще извращенец.
Сообщение от фонарик
есть более хитрый и простой способ
Конечно есть
<div id="wood" title="Елка"></div>


Если уж хочется удовлетворить больную фантазию, вот вам код:
<a id="wood">Wood</a>
<a id="stone">Stone</a>
<a id="food">Food</a>
<script>
var titles = {
    wood: 'елка',
    stone: 'камушек',
    thereIsNoMe: 'грабли',
    food: 'Корм'
}

for (var key in titles) {
    if (window[key]) {
        window[key].title = titles[key];
    }
}
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 22.03.2013, 12:40
Кандидат Javascript-наук
Отправить личное сообщение для фонарик Посмотреть профиль Найти все сообщения от фонарик
 
Регистрация: 23.02.2013
Сообщений: 127

Спасибо, мистер danik.js, очень интересный и хитрый способ
Сообщение от danik.js Посмотреть сообщение
Товарищ, вы тот еще извращенец.
Ну если подсказка из 5 букв и их 2-3 штуки, то оно в хтмл коде выглядит тускло. А представьте какая свалка будет если подсказка где 1 слово, где 5? И элементов 20. Разве вынести все подсказки в отдельный файл, чтобы было легче понимать устройство хтмл, это извращение?
Ответить с цитированием
  #6 (permalink)  
Старый 22.03.2013, 12:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от фонарик
Разве вынести все подсказки в отдельный файл, чтобы было легче понимать устройство хтмл, это извращение?
А разве постоянно писать одни и те же теги - не извращение?
<div>..</div> опять <div>..</div.. Можно же в js-файле держать только контент этих дивов и генерить автоматически.
Сообщение от фонарик
чтобы было легче понимать устройство хтмл
Ага. Можно еще из Войны и Мира выкинуть каждую вторую главу и засунуть в отдельный том что-бы "облегчить понимание". И это безусловно не извращение ))
Короче, всему свое место. Для задания тайтлов есть html-атрибут title="".
Форматируйте код для удобства и будет все понятно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery is not defined - странный случай tarya jQuery 2 16.07.2012 14:27
Как в php storm клавишами вызвать эту лампочку с подсказками слева? Drimogemon Оффтопик 4 10.07.2012 12:35
Проблема с всплывающими подсказками bobrina Серверные языки и технологии 4 09.02.2011 15:36
Помогите с всплывающими подсказками у select Круизёр Элементы интерфейса 0 27.01.2010 14:41
Сложный случай jQuery + AJAX + динамическое изменение страницы Opera/IE no. Общие вопросы Javascript 2 24.02.2009 04:24