Javascript 在jquery中使用slideUp方法时遇到问题
我使用的是一个show hide滑块,它适用于向下滑动,但不适用于向上滑动,有人能解释一下我的错误之处吗:Javascript 在jquery中使用slideUp方法时遇到问题,javascript,jquery,Javascript,Jquery,我使用的是一个show hide滑块,它适用于向下滑动,但不适用于向上滑动,有人能解释一下我的错误之处吗: var moreServicesList = $('#more-services-list').hide(); $('#more-services').on('click', function(e) { var flag = 0; if( flag === 0) { flag = 1; moreServicesList.slideDown(
var moreServicesList = $('#more-services-list').hide();
$('#more-services').on('click', function(e) {
var flag = 0;
if( flag === 0) {
flag = 1;
moreServicesList.slideDown('slow');
$(this).html('Hide');
} else {
moreServicesList.slideUp('slow');
$(this).html('Show');
flag = 0;
}
e.preventDefault();
});
提前谢谢
Kyle您必须移动
var flag=0代码>事件侦听器外部-
您必须移动var flag=0代码>事件侦听器外部-
您可以使用切换方法进行类似的操作
$('#more-services').on('toggle', function(e) {
$('#more-services-list').slideDown('slow');
$(this).html('Hide');
} function(){
$('#more-services-list').slideUp('slow');
$(this).html('Show');
}
});
在您的情况下,var标志每次初始化为0时您可以使用切换方法
$('#more-services').on('toggle', function(e) {
$('#more-services-list').slideDown('slow');
$(this).html('Hide');
} function(){
$('#more-services-list').slideUp('slow');
$(this).html('Show');
}
});
var标志每次初始化为0在您的情况下每次调用事件处理程序时,您都要重置标志:
$('#more-services').on('click', function(e) {
var flag = 0;
}
要解决此问题,请将标志声明移动到事件处理程序前面:
var flag = 0;
$('#more-services').on('click', function(e) {}
下面是一个工作示例:每次调用事件处理程序时,您都要重置标志:
$('#more-services').on('click', function(e) {
var flag = 0;
}
要解决此问题,请将标志声明移动到事件处理程序前面:
var flag = 0;
$('#more-services').on('click', function(e) {}
这里有一个工作示例:,因为您在函数中定义了标志。每次调用函数时,它都会重置为零。因为您在函数中定义了标志。每次调用函数时,它都重置为零