Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery hover()函数上选择下拉触发鼠标输出_Javascript_Jquery - Fatal编程技术网

Javascript 在jQuery hover()函数上选择下拉触发鼠标输出

Javascript 在jQuery hover()函数上选择下拉触发鼠标输出,javascript,jquery,Javascript,Jquery,我用jQuery在表单中制作了一个幻灯片,但是如果我打开一个select下拉列表,表单就会滑出或者开始循环 这是我的html: <div id="hoverForm"> <div id="label"> </div> <div id="hoverForminner"> <form> <!-- lots of form stuff --> <select class="dropdo

我用jQuery在表单中制作了一个幻灯片,但是如果我打开一个select下拉列表,表单就会滑出或者开始循环

这是我的html:

<div id="hoverForm">
  <div id="label">
  </div>
  <div id="hoverForminner">
    <form>
    <!-- lots of form stuff -->
      <select class="dropdowdn" id="dropdowdn">
        <option selected="selected" value="">- Choose -</option>
        <option value="1">- One -</option>
        <option value="2">- Two -</option>
      </select>
    <!-- more form stuff -->
    </form>
  </div>
</div>

如果我打开“选择”,如何避免鼠标滑落

您可以通过强制hoverForm的大小大于下拉列表及其选项来完全避免该问题。这样,即使在用户单击某个选项后,鼠标光标仍会发现自己位于元素上,而不会触发动画

例如,可以使用“填充”或“高度”属性:

#hoverForm  {background:green; padding:90px 30px}​
还可以使用jQuery根据选项数动态更改高度:

$('#hoverForm').css('height',(originalHeight + $('.dropdowdn option').length*20)+'px')

你想达到什么效果?如果鼠标在悬停窗体div上,则从左向右滑动,如果鼠标离开,则从右向右滑动。对不起,我从动画中看清楚了。悬停窗体是一个固定的左侧:0,顶部:90px,标签div有一个背景图像,其宽度为45px,高度为60px。当用户单击下拉菜单的一个选项时,鼠标光标会发现自己在hoverForm之外,从而激活动画以关闭它。好的,但问题仍然在于如何避免这种情况。如何包含select的选项?因为我尝试了$'hoverForm,hoverForm select option'.mouseenterfunction{//do something};$'鼠标移动函数{///做其他事情};但它具有相同的效果,我对hoverForm和hoverForminner以及内部overflow-y:scroll有高度;溢出x:隐藏;使其与低分辨率兼容。即使我加上高度,它也会触发鼠标离开。我在玩:focus selector,但在我的版本中,使用focus now,hoverForm在您单击另一个元素之前不会关闭,因为它会一直保持焦点,直到。在悬停回调中,如果$'.dropdowdn'.is':焦点“{//do nothing}其他{$'hoverforminer'.animate{marginLeft:'-822px'},200;}
$('#hoverForm').css('height',(originalHeight + $('.dropdowdn option').length*20)+'px')