ある関数を別の関数内で呼び出す最も簡単な方法は何ですか?
私は持っています:
function carousel_animation(){
$(carousel).transition({y: m + '=10', queue: false});
$('article div').promise().done(function(){
$(this).transition({x:2000}, 500, 'easeInCirc');
});
$('article div').promise().done(function(){
$(this).css({x:'-500'}).transition({x:'0'}, 1500, 'easeInOutQuart');
$(carousel_reset).css({opacity:0});
$(carousel_content)
.css({opacity:100, duration:1500});
});
};
クリックによってトリガーされるこの関数内で呼び出す必要があります。
function carousel_4way (n, el, m) {
// remove outline from clicked element
el.blur();
// animate
var carousel = '#carousel-4way-nav-' + n
var carousel_content = '#carousel-4way-' + n
transitionState = (transitionState == '-') ? '+' : '-';
**// I want the function to be placed inside, here**
transitionState2 = '-';
transitionState3 = '-';
transitionState4 = '-';
};
つまり、コードで何度も使用する必要がある非常に反復的な関数のようなものです。それ、どうやったら出来るの?
Robert Koritnikのアドバイスを使用してコードを書き直しましたが、機能しています。
function karuzela(n,el,m){
var carousel = '#carousel-4way-nav-' + n
var carousel_content = '#carousel-4way-' + n
function carousel_4way(){
el.blur();
transitionState = (transitionState == '-') ? '+' : '-';
$(carousel).transition({y: m + '=10', queue: false});
};
function carousel_animation(){
$('article div').promise().done(function(){
$(this).transition({x:2000}, 500, 'easeInCirc');
});
$('article div').promise().done(function(){
$(this).css({x:'-500'}).transition({x:'0'}, 1500, 'easeInOutQuart');
$(carousel_reset).css({opacity:0});
$(carousel_content)
.css({opacity:100, duration:1500});
});
transitionState2 = '-';
transitionState3 = '-';
transitionState4 = '-';
};
carousel_4way()
carousel_animation()
};
ただし、今のところ、これら2つの入れ子関数を外部に配置して、次のように単独で使用する方法はわかりません。
function karuzela(n,el,m){
var carousel = '#carousel-4way-nav-' + n
var carousel_content = '#carousel-4way-' + n
carousel_4way()
carousel_animation()
};