Помогите перенести этот скрипт jQuery на MooTools - PullRequest
0 голосов
/ 12 сентября 2011

Хорошо, у меня возникли проблемы с использованием скриптов jQuery на моем сайте, потому что я тоже запускаю MooTools, поэтому я решил использовать только скрипты MooTools.

Этот скрипт jQuery делает простую вещь, он просто заставляет скрытый div появляться на указателе мыши с эффектом затухания. Я не смог написать jQuery или MooTools, поэтому я прошу вашей помощи. Кто-нибудь может мне помочь и перенести этот скрипт jQuery на MooTools?

$(document).ready(function () { 
  var hide = false; 
  $("#posts-menu, .submenu").hover(function(){ 
    if (hide) clearTimeout(hide); 
    $(".submenu").fadeIn(); 
  }, function() { 
    hide = setTimeout(function() { 
      $(".submenu").fadeOut("slow"); 
    }, 250); 
  });   
});

Ответы [ 2 ]

0 голосов
/ 12 сентября 2011

Я пишу это от руки, так что, возможно, потребуется некоторая настройка:

window.addEvent('domready', function(){

  var hide = false;
  $('posts-menu').getElement('.submenu').addEvents({
    mouseenter: function() {
      if (hide) clearTimeout(hide);
      this.fade('in');
    },
    mouseleave: function() {
      hide = setTimeout(function() {
        this.fade('out');
      }, 250);
    }
  });

});

Дайте мне знать, работает ли он или нет, или разместите пример на http://jsfiddle.net,, чтобы нам было проще помочь вам.

Кроме того, вместо setTimeout попробуйте метод delay: http://mootools.net/docs/core/Types/Function#Function:delay

Если вы хотите большей гибкости с затуханием, попробуйте вместо этого метод tween('opacity'): http://mootools.net/docs/core/Fx/Fx.Tween#Element:tween

0 голосов
/ 12 сентября 2011
    var jq = jQuery.noConflict(); 


jq(document).ready(function () { 
         var hide = false; 
     jq("#posts-menu, .submenu").hover(function(){ 
         if (hide) clearTimeout(hide); 
         jq(".submenu").fadeIn(); 
     }, function() { 
         hide = setTimeout(function() { 
             jq(".submenu").fadeOut("slow"); 
         }, 250); 
     }); 

});

Многие библиотеки JavaScript используют $ в качестве имени функции или переменной, так же как и jQuery.В случае jQuery $ - это псевдоним для jQuery, поэтому все функции доступны без использования $.Если нам нужно использовать другую библиотеку JavaScript наряду с jQuery, мы можем вернуть управление $ back другой библиотеке с помощью вызова $ .noConflict ():

http://api.jquery.com/jQuery.noConflict/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...