jquery对下拉菜单的效果,对所有元素的效果并不相同。

发布于 2024-12-26 12:38:20 字数 1128 浏览 2 评论 0原文

我遇到了有关 jquery 下拉菜单的问题。我用 jquery 对其添加了“幻灯片”和“延迟”效果,但是只有当您将鼠标悬停在从右到左的链接上时,这才可以正常工作。当您以其他方式悬停时,延迟效果优先于下滑。我对 jquery 相当陌生,所以我很难理解这一点。这和html元素顺序有什么关系吗?

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

其次,我在代码的最后部分遇到了 jquery 问题,我试图隐藏联系人表单的输入表单和文本区域中的文本。我使用了从 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();
    }); 

});

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

最好的问候

维加尔

I am having a problem regarding a jquery dropdownmenu. I have put a "slidedown" and a "delay" effect on it with jquery, but this only works properly if you are hovering over the links from right to left. When you hover the other way, the delay effect takes first priority before the slidedown. I am fairly new to jquery so I am having a hard time understanding this. Does this have anything to do with the html element order?

I have tried adding a "z-index" to the active link element in jquery, I have also tried to "hide" all the underlinks that are not active, but none of it has worked.

Secondly I have a jqueryproblem with the last part of the code, where I am trying to hide the text in the input forms and textarea of my contactform. I have used a code I got from http://cssglobe.com/post/2494/using-form-labels-as-text-field-values-free-script, and everything works fine except the last line when it is supposed to hide the text when you click in the field where the text is.

The jquery code is displayed underneath, and to view the dropdownmenu, visit this site: 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();
    }); 

});

If anyone would like to look at this I would be very greatful!

Best regards

Vegar

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

彼岸花ソ最美的依靠 2025-01-02 12:38:20

试试这个代码。添加 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("");
});  

向您的输入和文本区域 data-text="textOFLabel" 添加属性并删除标签。

例子:

<input type="text" value="textOFLabel" data-text="textOFLabel">

try this code. Adding 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");
});     

EDIT:

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

Add an attribute to your inputs and textarea data-text="textOFLabel" and remove the labels.

Example:

<input type="text" value="textOFLabel" data-text="textOFLabel">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文