我试图在jquery函数中调用用户定义的函数无济于事我试过这个:
function close_quote_bar() {
alert('oh hai');
}
if($('#sliding_quote:visible')) {
$('#sliding_quote').slideUp();
$('#trans_div').animate({opacity: 0.0}).css('display','none').close_quote_bar;
}
和这个
//Function to close quote bar
function close_quote_bar() {
alert('oh hai');
}
$('#get_quote_bar img').click(function() {
if($('#sliding_quote:visible')) {
$('#sliding_quote').slideUp();
$('#trans_div').animate({opacity: 0.0}).css('display','none').close_quote_bar;
}
});
没有太多运气!当我调用close_quote_bar时,没有任何反应,或者我得到一个Object缺少方法错误!
希望你们能指出我正确的方向我正在努力解决这个问题
答案 0 :(得分:2)
我认为你想要这样的东西:
$('#sliding_quote:visible').slideUp( function(){
$('#trans_div').css('display','none');
close_quote_bar();
} );
它使用上滑回调,然后将对象设置为none并运行您的函数。此代码也取消了if语句,而是使用选择器仅影响可见元素。
答案 1 :(得分:0)
这行代码需要更改
$('#trans_div').animate({opacity: 0.0}).css('display','none').close_quote_bar;
你必须像这样称呼它
$('#trans_div').animate({opacity: 0.0}).css('display','none');
close_quote_bar();
最后在动画完成动画后触发closequotebar,使用此代码,注意function()在第3个参数中。
$('#trans_div').animate({opacity: 0.0}, 400, function(){
$(this).css('display','none');
close_quote_bar();
});
animate和slideUp都支持添加function()块作为参数,因此你可以在动画完成后调用一个函数 http://api.jquery.com/animate/ 看到“完整”部分
答案 2 :(得分:0)
你应该试试这个:
$('#trans_div').animate({opacity: 0.0}, 400, function(){
$(this).css('display','none');
close_quote_bar();
});
答案 3 :(得分:0)
以@ laurencek的回答为基础。
$('#sliding_quote:visible').slideUp( function(){
$('#trans_div').fadeOut( function(){
close_quote_bar();
});
});
这会将close_quote_bar()
作为fadeOut
的回调执行。
答案 4 :(得分:0)
事实证明这个函数正在调用,这不是范围或类似的问题。
我有另一个在滚动(.scroll)上执行的函数,该函数与函数冲突,因此它出现意外行为并且似乎没有执行。