Javascript toggle()函数在不传递第二个参数的情况下工作。
嘿,伙计们,我正在构建最简单的下拉菜单,我正在使用一个非常小的Jquery片段,我自己编写了它。不过我有一个小问题。签出我的Jquery代码:Javascript toggle()函数在不传递第二个参数的情况下工作。,javascript,jquery,Javascript,Jquery,嘿,伙计们,我正在构建最简单的下拉菜单,我正在使用一个非常小的Jquery片段,我自己编写了它。不过我有一个小问题。签出我的Jquery代码: $('#r-menu').on('click', function () { $('#menu').toggle(function () { $(this).css({ 'display': 'block' }); }, function () { // $(this
$('#r-menu').on('click', function () {
$('#menu').toggle(function () {
$(this).css({
'display': 'block'
});
}, function () {
// $(this).css({ 'display' : 'none' });
}); // end toggle
});
现在,为什么toggle()在我不添加secound函数的情况下工作。我的代码运行得很好,我的问题是,当我没有明确指定toggle()的第二个参数时,为什么菜单在display:none和display:block之间切换?这将是我的第一个也是最重要的问题
我的第二个问题和更多的补充问题,注意当你点击菜单时,当切换时,菜单从左上角滑入并放大,这种效果是从哪里来的?我没有在任何地方指定slideup()或slidein()?是否有一些内部应用的效果
如果您能解释一下我的困难,我将不胜感激
多谢各位
亚历山大 在jQuery 1.9中删除了,它用于在每次单击元素时调用不同的函数
您正在调用函数,该函数切换元素的显示
$('#r-menu').on('click', function () {
$('#menu').toggle(); // end toggle
});
演示:在jQuery1.9中删除了,它用于在每次单击元素时调用不同的函数
您正在调用函数,该函数切换元素的显示
$('#r-menu').on('click', function () {
$('#menu').toggle(); // end toggle
});
演示:切换是默认情况下在隐藏和显示状态之间切换元素 在中,目前还没有预期回调的变体。但您仍然可以在动画结尾添加回调,如:
$('#menu').toggle(0, function() {
// Animation complete.
});
第二部分。默认情况下,动画持续时间为400毫秒(0.4秒)。通过传递选项,您可以更改它的持续时间(0,在我的示例中没有动画,只是隐藏),并且默认情况下,使用jquery的种类动画切换是在隐藏和显示状态之间切换元素 在中,目前还没有预期回调的变体。但您仍然可以在动画结尾添加回调,如:
$('#menu').toggle(0, function() {
// Animation complete.
});
第二部分。默认情况下,动画持续时间为400毫秒(0.4秒)。通过传递选项,您可以更改它的持续时间(0,在我的示例中没有动画,只是隐藏)并使用jquery对动画进行排序“为什么toggle()在没有添加secound函数的情况下工作?”该代码确实有第二个函数。jquery.toggle(),因为它切换,它会自动检查元素是否可见。如果它是可见的,则会自动将其设置为不可见,如果它是不可见的,则会自动将其设置为可见。关于动画,它从左上角开始,因为它是该动画的标准。您可以检查它的参数或使用slideToggle()@T.J.Crowder,您好,先生,您好,我是您的超级粉丝,顺便说一句,我对Jquery和JS还不熟悉,刚刚开始学习新的东西:D“为什么toggle()在不添加secound函数的情况下工作?”代码确实有第二个函数。Jquery.toggle(),因为它可以切换,它会自动检查元素是否可见。如果它是可见的,则会自动将其设置为不可见,如果它是不可见的,则会自动将其设置为可见。关于动画,它从左上角开始,因为它是该动画的标准。您可以检查它的参数或使用slideToggle()@T.J.Crowder,您好,先生,您好,我是您的超级粉丝,顺便说一句,我刚开始接触Jquery和JS,刚刚开始学习新东西:Dso u mean toggle()只用于隐藏和显示元素??您的小提琴没有任何动画,为什么我的小提琴在切换时有一个动画?哦,如果传递了一个数值,就会执行一个动画函数。美好的但是在我的小提琴中,我没有传递任何数值。@AlexanderSolonik我想如果传递一个值到toggle,那么动画就会被执行,所以你的意思是toggle()只用于隐藏和显示元素??你的小提琴没有任何动画,为什么我的小提琴在切换时会有动画?哦,如果传递了一个数值,执行动画功能。美好的但在我的小提琴中,我没有传递任何数值。@AlexanderSolonik我想如果传递一个值来切换,动画就会执行