问问题
1816 次
3 回答
5
.not()
返回过滤后的 jQuery 对象,而不是布尔值。
你应该写if (!$(...).is(':focus'))
于 2012-05-15T13:38:05.720 回答
1
这段代码应该这样做。
$('#toolbar').hover(
function() {
var toolbarposition = $(this).position();
if (toolbarposition.top == -115) {
$(this).animate({top: '0'}, 300);
}
},
function() {
var toolbarposition = $(this).position();
if (toolbarposition.top == 0 && !$('#toolbar form select').is(':focus')) {
$(this).animate({top: '-115'}, 300);
}
}
);
于 2012-05-15T13:40:09.837 回答
0
下面的代码可以满足您的需求。但是,您需要修复元素聚焦并在工具栏外部单击的情况,以便不会触发鼠标悬停处理程序。
$('#toolbar').hover(
function() {
var toolbarposition = $(this).position();
if (toolbarposition.top == -115) {
$(this).animate({top: '0'}, 300);
}
},
function() {
var toolbarposition = $(this).position();
if (toolbarposition.top == 0 && !$('#toolbar form').has(':focus').length) {
$(this).animate({top: '-115'}, 300);
}
}
);
于 2012-05-15T13:47:17.640 回答