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();
    }); 

});

誰かがこれを見たいと思ったら、私はとても素晴らしいです!

よろしくお願いします

ベガー

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 に答える