我正在尝试将$(this)
解析为另一个函数调用的函数,但没有太多运气。基本上我的问题是;它是否可能,如果可能,怎么样?
代码如下:
初始通话
$('.playform').on('click', playForm);
主要功能
function playForm(e){
...snip...
TweenLite.to($('.video'), 1, {css:{'height':win.h+'px'}, ease:Power4.easeInOut, onComplete:showForm});
...snip...
}
辅助功能
function showForm{
$('.video #youtube').append('<iframe class="show-form" src="'+$('.playform').attr('href')+'"></iframe>');
}
由于我将使用多个表单,我想自动执行此过程,但我似乎无法
到目前为止我尝试过但无济于事的事情
$(this)
声明为变量答案 0 :(得分:1)
第1步
$('.playform').on('click', function(){
var whichVid = $(this);
playForm(whichVid);
});
第2步
function playForm(e){
TweenLite.to($('.video'), 1, {css:{'height':win.h+'px'}, ease:Power4.easeInOut, onComplete:showForm(e)});
}
第3步
function showForm(e){
$('.video #youtube').append('<iframe class="show-form" src="'+e.attr('href')+'"></iframe>');
}
或者,您可以在步骤1之前建立全局变量,然后在Click事件上设置值,如
var window.whichVid = '';
$('.playform').on('click', function(){
window.whichVid = $(this);
playForm();
});
function playForm(){
TweenLite.to($('.video'), 1, {css:{'height':win.h+'px'}, ease:Power4.easeInOut, onComplete:showForm()});
}
function showForm(){
var thisVid = whichVid.attr('href');
$('.video #youtube').append('<iframe class="show-form" src="'+ thisVid +'"></iframe>');
}
答案 1 :(得分:0)
你可以这样(未经测试):
(function($){
var global_this;
function palyform(e){
global_this = $(this)
...
}
function showform(e){
// do shomething with global_this
...
}
$('.playform').on('click', playForm);
}(jQuery);