как реализовать передачу функции в функцию??
сразу напишу, я не знаю как этот метод называется, поэтому не искал в инете, подскажите как реализовать, или как хоть назывется, что бы мог почитать, в ДЖС слабоват, сильно не ругайте за такой вопрос, столкнулся вот с чем:
есть var make = (function() { куча функций ... ... function test1 (var) { ... } ... ... куча функций return { test : function (var){ test1(var); }, test2 : function (var){ ololo(var); }, } }()) вот когда создаешь переменную-функцию, и в конце ретурн, и выбор test1, test2 (make.test1(my_var)) как эта вся конструкция называется? --- и есле не сложно подскажите, как при помоще этой конструкции мне передать внешнюю функцию во внутырь, или каким то образом указать make.test ряд действий которые он должен сделать , к примеру function ee_nado_peredat() { ... } var make = (function() { ... function v_etu_func_nado_peredat () { ee_nado_peredat() //вот сдесь что бы выполнила внешнюю функцию } ... return { test : function (var){ test1(var); }, test2 : function (var){ ololo(var); }, } }()) |
Параметром...
func_1= function(){ alert(1); }; func_2= function(func){ func(); }; func_2(func_1); |
что то я не особо понял
|
все справился спасибо)) так на в придачу, как такая конструкция называется?
var make = (function() { куча функций ... ... function test1 (var) { ... } ... ... куча функций return { test : function (var){ test1(var); }, test2 : function (var){ ololo(var); }, } }()) |
czp, вам нужно почитать про замыкания.
|
понял))хотя когда то читал замыкание, и уже на этом форуме мне советовал кто то, такой вопрос далеко не убегая, как можно реализовать типо такого??
$('#myplayer').flash({ 'src':'http://www.gdd.ro/gdd/flvplayer/gddflvplayer.swf', 'width':'230', 'height':'180', 'allowfullscreen':'true', 'allowscriptaccess':'always', 'wmode':'transparent', 'flashvars': { 'vdo':'http://irnika.com.ua/design_company/css/stomacon/irnika_video/tana_pershina.mp4', 'sound':'50', 'autoplay':'false', } }) что бы я вбивал настройки к примеру var make = (function() { ... return { tes1 : function (var){ test1(var); }, test2 : function (var){ ololo(var); } } }()) make ({ nad_kem__budem_koldovat : document.getElementById('fdf'); 4to_budem_delat : { alert('fdfd'), alert('fdfd2'), alert('fdfd3')}; }) ну и оно мне поставила в нужные места, такое возможно? |
czp, а в чём проблема, собственно? Вы передаёте объект, потом просто обращаетесь к полям объекта.
Почитайте вторую, а потом первую книгу из моего списка. |
не получается,((
как можно вложить в одно свойство ряд действий?? только одно могу var пщ = { 'delta' : alert('hgh') } а мне надо типо такого var пщ = { 'delta' : elem.style.position = 'absolute'; elem.style.border = '2px solid #0f0'; elem..style.zIndex = 100; } ну там не обязательно со стилем, и еше момент можно как то передать во внутырь elem?? |
czp, идите читать.
|
блин, вообшем не получается, подскажите, уже задрался голову ломать
суть такова: 2 эллемента el1 = document.getElementById('clickObjects1') el2 = document.getElementById('clickObjects2') el1.onmousedown = function() { for_el1(this); } el2.onmousedown = function() { for_el2(this); } при движении, или просто когда кнопка нажата(обьект взят), у каждого свое действие,есле бы на всех обьектах одинаковое действие было, то все тогда отлично, но к примеру каждый элем по своему подсвечивается function for_el1(element) { drag.object(element); drag.take(function (dragobject) { dragobject.style.position = 'absolute'; dragobject.style.border = '2px solid #0f0'; dragobject.style.zIndex = 100; }); drag.drope(function (dragobject) { dragobject.style.border = 'none'; dragobject.style.zIndex = 0; }); } function for_el2(element) { drag.object(element); drag.take(function (dragobject) { dragobject.style.position = 'absolute'; dragobject.style.border = '20px solid #fff'; dragobject.style.zIndex = 100; }); drag.drope(function (dragobject) { dragobject.style.border = 'none'; dragobject.style.zIndex = 0; }); } контроллер, которые делает свою работу var drag = (function() { ... // ряд функция и плюшек return { object : function(element){ dragobject = element; }, take : function(take){ onmousedown(take); }, drope : function(drope) { onmouseup(drope); } } }()) так вот в чем вопрос, как мне передать вот эти сами действия которые должны происходить при перетаскивание элема,у каждого свой, хотелось бы такой конструкцией function for_el1(element) { drag.object(element); drag.take(function (dragobject) { dragobject.style.position = 'absolute'; dragobject.style.border = '2px solid #0f0'; dragobject.style.zIndex = 100; }); drag.drope(function (dragobject) { dragobject.style.border = 'none'; dragobject.style.zIndex = 0; }); } но оно не совсем работает, так как одновременно срабатывает onmousedown - drag.take и onmouseup - drag.drope, из за того что не правильно передаю подскажите как быть?? drag.take(function (dragobject) { dragobject.style.position = 'absolute'; dragobject.style.border = '2px solid #0f0'; dragobject.style.zIndex = 100; }); drag.drope(function (dragobject) { dragobject.style.border = 'none'; dragobject.style.zIndex = 0; }); } вот этот момент он мне интерпритирует сразу, а мне необходимо что бы он интерпритировал не сразу), как сделать так что бы при нажатие на элем он создовал функции но не интерпритировал их |
Часовой пояс GMT +3, время: 17:40. |