[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Опр. изоброжение в блоке при наличии опр. текста.
professorДата: Пятница, 25.07.14, 20:21:44 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Offline
Доброго времени суток, нужна помощь, если вас не затруднит.
Суть скрипта:
В блоке имеется некая текстовая информация, например: Машинка поехала :DD
Скрипт должен определять текст Машинка и выводить иконку после всего текста, то есть, в данном случае после слова поехала.
Так же, допустим, в блоке возможно и содержание другой информации, например Трактор поехал, в данном случае скрипт должен выводить иконку трактора, так же после текста. Такого рода словосочетаний будет множество, поэтому нужно чтобы скрипт мог обрабатывать одновременно, как минимум, 10 вариантов сразу. И самое важное, в случае не нахождения искомого слова, не выводить ничего.
Буду очень признателен, если кто то поможет. Деньгами на данный момент не обладаю, но могу оказать ответную услугу в плане графического дизайна. Огромное спасибо за ранее!
 
DefmanДата: Пятница, 25.07.14, 20:27:55 | Сообщение # 2
Майор
Группа: VIP
Сообщений: 91
Награды: 1
Репутация: 5
Замечания: 0%
Статус: Offline
Код

var registred_words = { "машинка": "car.png", "трактор": "tractor.png"}
var words_in_block = $("#block").text().split(" ");
words_in_block.each(function() {
if(registred_words.indexOf(this.toLowerCase())) {
$("<img src="+registred_words[this.toLowerCase()]+"").insertAfter($(this));
}
});


Сообщение отредактировал Defman - Пятница, 25.07.14, 20:30:15
 
LisnesДата: Пятница, 25.07.14, 20:30:29 | Сообщение # 3
Подполковник
Группа: VIP
Сообщений: 116
Награды: 3
Репутация: 17
Замечания: 0%
Статус: Offline
professor,
Код
<script>
var keywords = {
"Машина" : "machine.png",
"Трактор" : "tractor.png"
};

var iconTmpl = '<img src="$1">';

var block = $("#block"),
txt = block.text();

for(var i in keywords){
if(txt.indexOf(i) !== -1){
block.append(iconTmpl.replace('$1', keywords[i]);
}
}
</script>

Набор ключевых слов:
Код
var keywords = {
"слово или словосочетание" : "ссылка на картинку",
"слово" : "картинка"
};

"#block" - селектор блока
 
professorДата: Пятница, 25.07.14, 20:36:04 | Сообщение # 4
Сержант
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Offline
Ох, благодарю !
 
professorДата: Пятница, 25.07.14, 21:27:33 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Offline
Ребят, и ещё вопрос.
В блоке имеется набор цифр, допустим, 65657. Нужно, чтобы перед каждым символом в поле, в этом случае, перед каждой цифрой шла картинка, это возможно сделать или уже трудновато ?
 
DefmanДата: Пятница, 25.07.14, 21:31:59 | Сообщение # 6
Майор
Группа: VIP
Сообщений: 91
Награды: 1
Репутация: 5
Замечания: 0%
Статус: Offline
Не особо трудно, мне кажется, но нужно разбить строку на массив цифр. Можно регуляркой в принципе.
Код

var strvalues = "65657";
var returned_str = "";
var values = strvalues.match(/\d{1}/g);
for(k of values) {
returned_str .= "<img src='img.png' />"+k+"<br />";
}
$("#block").html(returned_str);


Сообщение отредактировал Defman - Пятница, 25.07.14, 21:34:44
 
professorДата: Пятница, 25.07.14, 21:33:52 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Offline
А, и ещё, желательно, чтобы после каждого символа шёл тег <br> для перехода на другую строку. То есть формат такой
(картинка) (символ) (бр)
(картинка) (символ) (бр) и тп
 
DefmanДата: Пятница, 25.07.14, 21:34:58 | Сообщение # 8
Майор
Группа: VIP
Сообщений: 91
Награды: 1
Репутация: 5
Замечания: 0%
Статус: Offline
Оке, переделал скрипт :)
 
professorДата: Пятница, 25.07.14, 21:35:12 | Сообщение # 9
Сержант
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Offline
Конструкция я полагаю будет такой ?
Код
var returned_str = "";
var values = [6,5,6,5,7];
for(k of values) {
returned_str .= "<img src='img.png' />"+k+"<br>";
}
$("#block").html(returned_str);
 
DefmanДата: Пятница, 25.07.14, 21:36:47 | Сообщение # 10
Майор
Группа: VIP
Сообщений: 91
Награды: 1
Репутация: 5
Замечания: 0%
Статус: Offline
Либо еще можно так:

Код

var strvalues = "65657";
var values = strvalues.match(/\d{1}/g);
for(k of values) {
$("#block").append("<img src='img.png' />"+k+"<br />");
}
 
professorДата: Пятница, 25.07.14, 21:36:57 | Сообщение # 11
Сержант
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Offline
Defman, Огромное вам спасибо, ребят, прям выручили! Если нужна будет помощь с графикой - пишите в лс, обязательно помогу!
 
  • Страница 1 из 1
  • 1
Поиск: