Cufon задержка обновления при наведении - PullRequest
1 голос
/ 06 декабря 2011

Я использую Cufon с jCycle для создания карусели.Мне бы хотелось, чтобы цвет ссылок менялся при наведении курсора.Это работает нормально, но имеет небольшую досадную задержку, например, 0,5 секунды.

Я уже использую cufon.refresh (), но не работает должным образом.

Code i 'm:

(function($) {

    $(document).ready(function() {

        $('#homepage_slideshow').before('<div id="nav">').cycle({ 
            fx                  : 'fade', 
            pause               : 1,
            speed               : 'fast', 
            timeout             : 5000, 
            pager               : '#nav',
            slideResize         : false,
            containerResize     : false,
            pagerEvent          : 'mouseover', 
            fastOnEvent         : true,
            pause: 1,
            pagerAnchorBuilder: function(index, element) {
                  var title      = $('.slide_title a', element).remove().text();
                  var undertitle = $('.slide_title .undertitle', element).remove().text();

                  var atitle  = $('<a />').attr('href', '#').text(title);
                  var sutitle = $('<div class="undertitle" />').text(undertitle);
                  var div     = $('<div />').addClass('slideshow_tab');
                  var lnk     = $('.slide_img a', element);

                  div.append(atitle);
                  div.append(sutitle);

                  if (lnk.length) div.click(function(e) {
                      e && e.preventDefault();
                      window.location.href = $(lnk[ lnk.length - 1]).attr('href');
                  })
                  else {
                      div.css('cursor','default');
                      div.find('a').css('cursor','default');
                  };    

                  return div; 

            },

            after: function(){ Cufon.refresh('.slideshow_tab a'); }
        });

            Cufon.replace('.slideshow_tab a');

            Cufon.now(); 

    });

})(jQuery);

Если кто-нибудь может мне помочь - я был бы очень признателен.

1 Ответ

2 голосов
/ 27 марта 2012

Может случиться так, что ваша вложенная функция / код pageranchorbuilder будет запущена до вызова функции цикла "after".Попробуйте реализовать свою функциональность наведения более прямо, чтобы получить более прямое действие.

У меня была та же проблема с производительностью, и я получил довольно быстрые результаты, когда реализовал .refresh в jquery .hover и функции обратного вызова.

$(".slidehow_tab a").hover(
    function () {
        $(this).addClass("hover");
        Cufon.refresh();
    },
    function () {
        $(this).removeClass("hover");
        Cufon.refresh();
    }
);
...