Помощник
|
Помогите с Mootools, условные операторы if else |
toorr2p
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
18.9.2009, 21:10;
Ответить: ZiTosS
Сообщение
#2
|
|
Вячеслав,
if( Array_a != '' ) Замени на if( Array_a.length > 0 ) А вообще ты как всегда извращаешься. |
|
|
toorr2p
|
Сообщение
#3
|
|
То что извращаюсь согласен , но надож както учится, я просто еще незнаю всех "блатных" слов языка, и поэтому пытаюсь решить задачу "словами младенца" ...
Изменил код все заработало: <script type="text/javascript"> function Create_Link(){ var Link = new Element('a', { 'class' : 'My_link', 'rel' : 'nofollow', 'href' : '#', 'events' : { 'click': function(){ window.open('http://<?php echo $self_host; ?>/index.php?option=com_pdf2email&view=pdf2email&id=<?php echo $self_id;?>&tmpl=component','win2','width=435,height=480,menubar=yes,resizable=yes'); return false; } } }); return (Link); } function Create_IMG(){ var IMG = new Element('img',{ 'alt' : 'pdf2email', 'src' : 'images/M_images/emailButton.png' }); return (IMG); } window.addEvent('domready', function() { $$('div.buttonheading').setProperty('id', 'create'); $$('p.buttonheading').setProperty('id', 'P_inject'); var Array_span = $$('div.buttonheading'); var Array_table = $$('table.contentpaneopen'); if(Array_span.length > 0){ var Span = new Element('span', { 'class': 'mySpan' }); //We insert a new element into the object //necessary to us, with appropriated to it early the identifier Span.injectInside($('create')); //We receive earlier created object on the class appropriated to it $$('.mySpan').setProperty('id', 'newSpan'); //We create a new element and it is appropriated to it necessary properties and attributes var Link = new Element('a', { 'styles': { 'display': 'block', 'height':'14px', 'width':'14px', 'border':'0 none', 'float':'right', 'margin':'6px 5px 0 0', 'background':'url(images/M_images/emailButton.png)' }, 'class': 'myLink', 'href': '#', 'events': { 'click': function(){ window.open('http://<?php echo $self_host; ?>/index.php?option=com_pdf2email&view=pdf2email&id=<?php echo $self_id;?>&tmpl=component','win2','width=435,height=480,menubar=yes,resizable=yes'); return false; } } }); Link.injectInside($('newSpan')); } //_______________________________________________________________________________ else{ if(Array_table.length > 0){ Array_table[0].setProperty('id', 'Tab_modify'); //$$('table.contentpaneopen').setProperty('id', 'Tab_modify'); $E('tbody', 'Tab_modify').setProperty('id', 'TB_modify'); $E('tr', 'TB_modify').setProperty('id', 'TR_modify'); var TD = new Element('td', { 'class' : 'buttonheading', 'align' : 'right', 'width' : '100%' }); TD.injectInside($('TR_modify')); var Array_Td = $ES('td', 'TR_modify'); Array_Td[4].setProperty('id', 'Td_modify'); var Link = Create_link(); Link.injectInside('Td_modify'); $$('a.My_link').setProperty('id', 'IMG_inject'); var IMG = Create_IMG(); IMG.injectInside($('IMG_inject')); } else{ var Link = new Element('a', { 'class' : 'My_link', 'rel' : 'nofollow', 'href' : '#', 'events' : { 'click': function(){ window.open('http://<?php echo $self_host; ?>/index.php?option=com_pdf2email&view=pdf2email&id=<?php echo $self_id;?>&tmpl=component','win2','width=435,height=480,menubar=yes,resizable=yes'); return false; } } }); Link.injectInside($('P_inject')); $$('a.My_link').setProperty('id', 'IMG_inject'); var IMG = new Element('img',{ 'alt' : 'pdf2email', 'src' : 'images/M_images/emailButton.png' }); IMG.injectInside($('IMG_inject')); } } }); </script> Код получился огромным и хочется его сократить, хотябы убрать дублирование обьявления одинаковых переменных (var Link; var IMG), я хочу это сделать таким путем: 1)Создаю две функции в теле которых создаются переменные, в одной Link в другой IMG, функции возвращают значения return(Link) и return(Img) Вот эти функции: function Create_Link(){ var Link = new Element('a', { 'class' : 'My_link', 'rel' : 'nofollow', 'href' : '#', 'events' : { 'click': function(){ window.open('http://<?php echo $self_host; ?>/index.php?option=com_pdf2email&view=pdf2email&id=<?php echo $self_id;?>&tmpl=component','win2','width=435,height=480,menubar=yes,resizable=yes'); return false; } } }); return (Link); } function Create_IMG(){ var IMG = new Element('img',{ 'alt' : 'pdf2email', 'src' : 'images/M_images/emailButton.png' }); return (IMG); } 2)А затем хочу, уже в теле следующей функции: window.addEvent('domready', function() {...} Вызывать эти функции в нужных участках. Пишу вот так: var Link = Create_Link(); Ничего не вызывается, подскажите как вызвать функцию, искал в сети так толком ничего и не нашел рабочего примера. |
|
|
ZiTosS |
19.9.2009, 10:18;
Ответить: ZiTosS
Сообщение
#4
|
|
|
Вячеслав, кто сказал что ничего не вызывается. Мне кажется просто ничего не возвращается. Я отлаживая код использую alert(). Если переменная не определена он выведет undefined.
А так могу кзать, что скорее всего функция возвращает левую копию, с которой нельзя работать, а не сам объект.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Помогите вспомнить рекламного бота Телеграм для обмена рекламой | 0 | Mixatraider | 732 | 21.2.2024, 23:42 автор: Mixatraider |
|
Помогите рещить проблему с монитором. Почему низкое разрешение при подключении монитора через displayport? |
0 | Levels | 1702 | 11.12.2020, 0:48 автор: Levels |
|
Помогите кто нибудь получить партнерку Росбанк! | 7 | heisenberg_mw | 2347 | 7.8.2020, 9:28 автор: heisenberg_mw |
|
Помогите найти тему пожалуйста | 7 | virtas | 12573 | 24.7.2020, 17:02 автор: -JamesSmips- |
|
Помогите с поиском доноров | 3 | tehno_music | 3362 | 4.11.2019, 17:15 автор: goblin78 |
Текстовая версия | Сейчас: 25.4.2024, 23:07 |