Jqueryeffect на dropdownmenu, эффект не одинаков для всех элементов. - PullRequest
0 голосов
/ 14 января 2012

У меня проблема с выпадающим меню jquery.Я применил к нему эффект «слайд-апон» и «задержка» с помощью jquery, но это работает правильно, только если вы наводите указатель мыши на ссылки справа налево.При наведении другого пути эффект задержки имеет первый приоритет перед ползунком.Я довольно новичок в jquery, поэтому мне трудно это понять.Это как-то связано с порядком элементов html?

Я попытался добавить «z-index» к активному элементу ссылки в jquery, я также попытался «скрыть» все неактивные ссылки, но ни одна из них не сработала.

Во-вторых, у меня есть проблема 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();
    }); 

});

Если кто-то захочет посмотреть на это, я был бы очень признателен!

С уважением

Вегар

1 Ответ

0 голосов
/ 14 января 2012

попробуйте этот код.Добавление 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">
...