0

我有一个关于 jquery 下拉菜单的问题。我已经使用 jquery 对其进行了“滑动”和“延迟”效果,但这仅在您将鼠标悬停在从右到左的链接上时才能正常工作。当您以另一种方式悬停时,延迟效果优先于下滑。我对 jquery 相当陌生,所以我很难理解这一点。这与html元素顺序有什么关系吗?

我尝试在 jquery 中向活动链接元素添加“z-index”,我还尝试“隐藏”所有不活动的下链接,但都没有奏效。

其次,我在代码的最后一部分有一个 jqueryproblem,我试图在我的联系人表单的输入表单和 textarea 中隐藏文本。我使用了从http://cssglobe.com/post/2494/using-form-labels-as-text-field-values-free-script获得的代码,除了最后一行,一切正常单击文本所在的字段时隐藏文本。

jquery 代码显示在下方,要查看下拉菜单,请访问此站点:http ://www.vstil.com

$(document).ready(function(){



 $("ul li").mouseenter(function(){

    $("ul",this).stop(true,true).slideDown("slow");


         }).bind("mouseleave",function(){
    $("ul",this).delay(500).slideUp("slow");
 });        



 $('form input[type="text"], textarea').each(function(){
    var theLabel = $(this).prev('label');


    $(this).css("color", "grey").attr('value',theLabel.html());


    theLabel.hide();
    }); 

});

如果有人想看这个,我会非常感激!

最好的祝福

素食主义者

4

1 回答 1

0

试试这个代码。添加 z-index

$(document).ready(function(){
  $("ul li").mouseenter(function(){
    $("ul",this).stop(true,true).css("z-index", 10).slideDown("slow");
  }).bind("mouseleave",function(){
    $("ul",this).css("z-index",2).delay(500).slideUp("slow");
});     

编辑:

$('form input[type="text"], textarea').on("focus", function() {
  $this = $(this); 
  if ( $this.val() === $this.attr("data-text") ) $this.val("");
});  

将属性添加到您的输入和 textarea data-text="textOFLabel" 并删除标签。

例子:

<input type="text" value="textOFLabel" data-text="textOFLabel">
于 2012-01-14T00:51:08.817 回答