2011-12-12 91 views
0

OLD CODE鼠标悬停鼠标移开和使用jQuery的问题与输入字段

我有一个问题,当我在我的“#搜寻”分区然后滑动它像我应该做的,钻的问题是,当它的幻灯片它会显示一个搜索输入字段,当鼠标移过该输入字段时,它开始运行鼠标输出函数,我已经停止了这一点,只要将一个if鼠标放在带有空函数的#search输入上,但是当我的鼠标离开输入和“#搜索”潜水它不会运行动画返回功能。

这里是我的脚本

$("#search").mouseover(function(){ 
    $(this).animate({"left": "0px"}, 500); 
}); 
$("#search").mouseout(function(){ 
    if($("#search input").mouseover()){ 
     return false 
     } 
    else { 
    $(this).animate({"left": "-282px"}, 500); 
    } 
}); 

我该怎么办错了吗?还是有人有解决方案?我是新来的jQuery所以刚开始学习:)和我搜索谷歌和最后2天的文件,也许它只是我这是盲目的,这就是为什么我需要你的帮助:

编辑:NEW CODE & JS FIDDLE

我需要做不同的搜索条,所以我只是再次做了代码,现在需要点击语句。在的jsfiddle

看看这里

http://jsfiddle.net/D7s45/2/

这是jQuery的我想创造:)

回答

0
var t, isout=true; 
$("#search").children("form").children().mouseover(function() { 
    clearTimeout(t); isout = false; 
}); 

$("#search").children("form").children().mouseout(function() { 
    isout = true; 
    tout = setTimeout(function() { $("#search").animate({ "left": "-282px" }, 500); }, 100); 

}); 

$("#search").mouseover(function() { 
    if (isout) $(this).animate({ "left": "0px" }, 500); 
    clearTimeout(t); isout = false; 
}); 

$("#search").mouseout(function() { 
    isout = true; tout = setTimeout(function() { $("#search").animate({ "left": "-282px" }, 500); }, 100); 
}); 
+0

你好阿什坎,即时获取语法错误,当我尝试它,我没有得到任何超过我的Seach的功能? – Nopzen

+0

我已经在我的项目中完成了这个方法,它完美地工作。我在这里写了它,而不是从我的项目中复制,可能是语法错误。让我看看它并纠正它。我会让你知道的。 –

+0

现在再试一次。当然,我并不完全了解你的项目,你可能需要做一些改变。 –

0

尝试徘徊在输入时,在停止传播:

$("#search input").hover(function(e) { 
    e.stopPropagation(); 
}, function(e) { 
    e.stopPropagation(); 
}); 

您的常规代码为#搜索div应该正常运行。

+0

Landons,我如何将我的动画放到该代码中,就像我说过的IM还是很新的:p因此不知道如何将我的代码设置为您的代码? – Nopzen

+0

不完美,但接近:http://jsfiddle.net/cDmJu/ – landons

+0

你的意思是不完美但接近?我做的新jsfiddle或?因为在那个jsfiddle我得到了问题,它不会再关闭:( – Nopzen