Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Помогите с соединением двух функцией на JavaScript

Ответить
Настройки темы
[решено] Помогите с соединением двух функцией на JavaScript

Ветеран


Сообщения: 1862
Благодарности: 132


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Igor_I
Дата: 16-09-2006
Вопрос доволно специфичный, не знаю даже реализуемо это. Предисловие довольно длинное
Есть вики-движок -DokuWiki. http://wiki.splitbrain.org/wiki:ru:syntax образец страницы. Нажимаем кнопку Edit page и видим тулбар с иконками. результат использования некоторых из них аналогично здешним иконкам - обрамление некоего текста тегами. Функция вставки смайликов работает по другому, щелкаем по кнопке-смайлик, вылезает окошко и уже в нем выбираем смайлик, который потом вставляется в текст. Также в движке реализованна подсветка синтаксиса. http://animesarov.net.ru/wiki:syntax...тка синтаксиса, только вот кнопки такой нет. Хочу сделать.
Я так думаю, что все функции тулбара завязанны на этой функции. И мне думается так, что нужно соединить каким-то образом два действия данной функции - format & picker
PHP код: Выделить весь код

function initToolbar(tbid,edid,tb){    

 if(!
document.getElementById){ return; }     
var 
toolbar document.getElementById(tbid);     
var 
cnt tb.length;     
for(var 
i=0i<cnti++){         
// create new button         
btn createToolButton(tb[i]['icon'],                                
tb[i]['title'],                                
tb[i]['key']);          
// add button action dependend on type 
        
switch(tb[i]['type']){             
    case 
'format':                 
var 
sample tb[i]['title'];                 
if(
tb[i]['sample']){ sample tb[i]['sample']; }                  
eval(
"btn.onclick = function(){insertTags('"+                                         
jsEscape(edid)+"','"+                                         
jsEscape(tb[i]['open'])+"','"+                                         
jsEscape(tb[i]['close'])+"','"+                                         
jsEscape(sample)+                                     
"');return false;}");                 
toolbar.appendChild(btn);                 
break;                                                               
            case 
'insert':                 
eval(
"btn.onclick = function(){insertAtCarret('"+                                         
jsEscape(edid)+"','"+                                         
jsEscape(tb[i]['insert'])+                                     
"');return false;}");                 
toolbar.appendChild(btn);                 
break;             
          case 
'signature':                 
if(
typeof(SIG) != 'undefined' && SIG != ''){                     
eval(
"btn.onclick = function(){insertAtCarret('"+                                             
jsEscape(edid)+"','"+                                             
jsEscape(SIG)+                                         
"');return false;}");                     
toolbar.appendChild(btn);                 }                 
break;             
         case 
'picker':                 
createPicker('picker'+i,                              
tb[i]['list'],                              
tb[i]['icobase'],                              
edid);                 
eval(
"btn.onclick = function(){showPicker('picker"+i+                                     
"',this);return false;}");                 
toolbar.appendChild(btn);                 
break;                          
       case 
'mediapopup':                 
eval(
"btn.onclick = function(){window.open('"+                                         
jsEscape(tb[i]['url']+NS)+"','"+                                         
jsEscape(tb[i]['name'])+"','"+                                         
jsEscape(tb[i]['options'])+                                     
"');return false;}");                
toolbar.appendChild(btn);                 
break;         
// end switch     
// end for } 

Если есть желание помочь уточните , может какие-то моменты упустил по незнанию.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 21:31, 13-09-2006

 

Пользователь


Сообщения: 67
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Цитата:
зачем убирать функцию insertAtCarret?
насколько я понял, ф-я insertAtCarret вставляет указанный тобой текст в позицию курсора, а insertTags обрамляет выделенный текст указанными откр и закр тэгами
т.о. если ничего не выделено, то при помощи insertTags пустоту обрамляем тэгами и получаем результат, схожий с insertAtCarret, с той лишь разницей, что в случае с insertAtCarret курсор находится после текста, а с insertTags между тэгами (это по идее)
а если выделен текст, то insertTags обрамляет текст тэгами, а insertAtCarret заменяет его на предложенный тобой.

Цитата:
в ИЕ пробелы получаются большими
попробуй везде использовать обычный (не неразрывный ' ') пробел до и после текстов ибо любому браузеру пофиг, сколько обычных пробелов будет находиться подряд - отображаться будет только один, а вот если обычные пробелы и неразравные чередуются, то в разных браузерах выглядит по-разному

Отправлено: 09:13, 20-09-2006 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Помогите с соединением двух функцией на JavaScript

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - Помогите разобраться с соединением двух компов upsaa Сетевое оборудование 2 13-03-2009 18:01
[решено] Текстовый редактор с функцией добавления пункта меню/кнопки Котяра Хочу все знать 6 18-04-2008 22:37
Помогите с JavaScript arruk Вебмастеру 13 01-09-2005 09:52
Помогите с JavaScript mitiya2004 Вебмастеру 9 09-04-2004 08:27
JavaScript помогите разобраться! Pavel88 Вебмастеру 4 28-12-2002 19:42




 
Переход