Javascript 函数启动太早
我正在使用jQueryAjax构建一个联系人系统。表单的div有一个高度,所以我认为如果您单击输入(OnFocus),div会变大,并且当您向上或向下滚动时,div会返回到其常规高度,这将是一件好事。问题是,单击后,div变大,然后立即返回到其常规高度。这是我的密码:Javascript 函数启动太早,javascript,jquery,scroll,Javascript,Jquery,Scroll,我正在使用jQueryAjax构建一个联系人系统。表单的div有一个高度,所以我认为如果您单击输入(OnFocus),div会变大,并且当您向上或向下滚动时,div会返回到其常规高度,这将是一件好事。问题是,单击后,div变大,然后立即返回到其常规高度。这是我的密码: var big = false, lastpalce = "", position = ""; function contectboxreturn() { if (big) { $("#c
var big = false,
lastpalce = "",
position = "";
function contectboxreturn() {
if (big) {
$("#contact").animate({
"height": "515px"
}, 400);
$("#showclosebutton").hide(fast);
big = false;
}
}
function contectboxresize() {
if (!big) {
big = true;
lastpalce = $(this).scrollTop();
position = $("#contact").offset();
$("html, body").animate({
scrollTop: position.top + "px"
}, 400);
$("#contact").animate({
"height": "100%"
}, 400);
$("#showclosebutton").show(fast);
$(function () {
$(window).scroll(function () {
if (position.top != $(this).scrollTop()) {
contectboxreturn();
}
});
});
}
}
尝试将滚动事件放置在contectboxresize()函数之外,如下所示:
var big = false,
lastpalce = "",
position = "";
$(function () {
$(window).scroll(function () {
if (position.top != $(this).scrollTop()) {
contectboxreturn();
}
});
});
function contectboxreturn() {
if (big) {
$("#contact").animate({
"height": "515px"
}, 400);
$("#showclosebutton").hide(fast);
big = false;
}
}
function contectboxresize() {
if (!big) {
big = true;
lastpalce = $(this).scrollTop();
position = $("#contact").offset();
$("html, body").animate({
scrollTop: position.top + "px"
}, 400);
$("#contact").animate({
"height": "100%"
}, 400);
$("#showclosebutton").show(fast);
}
}
将“大”设置为TRUE作为动画的回调。像这样
$("#contact").animate({
"height": "100%"
}, 400, function(){
big = true;
});
触发此事件的事件是什么?@epascarello创建一个演示。在犹他州。net@charlietfl