как реализовать передачу функции в функцию??
сразу напишу, я не знаю как этот метод называется, поэтому не искал в инете, подскажите как реализовать, или как хоть назывется, что бы мог почитать, в ДЖС слабоват, сильно не ругайте за такой вопрос, столкнулся вот с чем:
есть
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, время: 14:45. |