我如何测试变量是否包含多维数组?例如:
var obj = [1, 2];
Run Code Online (Sandbox Code Playgroud)
与
var obj = [[1], [2]];
Run Code Online (Sandbox Code Playgroud)
我已经使用 Array.isArray(obj) 来测试是否是一个数组,但我不知道如何测试数组的数量。
我在向mouseOut函数添加延迟时遇到问题.这是jquery代码:
$(document).ready(function() {
$('.nav').mouseover(function() {
$('.nav').css({ left: '160px' });
});
$('.nav').mouseout(function() {
$('.nav').delay(600).css({ left: '0' });
});
});
Run Code Online (Sandbox Code Playgroud)
我认为添加延迟部分会做到这一点......但它仍然表现得好像根本不存在.
建议?
编辑
建议的setTimeout函数工作 - 但创建了一个新问题.即使仍然在选定的'.nav'div上,此效果现在也会触发.
这是问题的一个方面:http: //jsfiddle.net/TRL4w/
我正在尝试创建在将鼠标悬停在菜单名称上时下拉菜单.由于名称和菜单div不相邻,我需要一种方法来延迟菜单消失,因此用户可以从名称移动到菜单本身.我为此使用了setTimeout.一旦悬停在菜单上,我需要它保持打开,直到鼠标离开,之后它应该隐藏.
我试过的是一团糟.不知道如何解决它.因为setTimeout在初始鼠标悬停内,所以定时器会自行循环...但是如果把它放在其他任何地方,setTimeout似乎不起作用.
这是代码:
$(document).ready(function() {
$('.headermenushow').mouseover(function () {
$(this).next('.dropmenu').show(0, function () {
timer = setTimeout(function() {
$('.dropmenu').hide(10);
}, 2000);
});
$(this).next('.dropmenu').mouseover(function () {
clearTimeout(timer);
});
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个简略的jsfiddle显示我想如何使用它:
任何帮助都会很棒.不确定如何让这个更好地工作......