Jquery效果在下拉菜单中,所有元素的效果都不一样。

时间:2012-01-14 00:34:34

标签: jquery drop-down-menu contact-form

我遇到了关于jquery dropdownmenu的问题。我用jquery对它进行了“滑动”和“延迟”效果,但只有当你从右到左盘旋在链接上时才能正常工作。当您以另一种方式悬停时,延迟效果在滑行之前优先。我对jquery相当新,所以我很难理解这一点。这与html元素顺序有什么关系吗?

我尝试在jquery中向活动链接元素添加“z-index”,我还尝试“隐藏”所有未激活的链接,但没有一个工作。

其次,我有一个jqueryproblem与代码的最后一部分,我试图隐藏我的contactform的输入表单和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();
    }); 

});

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

祝你好运

Vegar

1 个答案:

答案 0 :(得分: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">