2011-12-06 141 views
1

即時使用Cufon與jCycle創建一個傳送帶。我希望鏈接的顏色在懸停事件上發生變化。這工作正常,但它有一點點惱人的延遲,如0.5秒。Cufon刷新延遲懸停

我已經在使用cufon.refresh(),但它不能正常工作。我使用

代碼:

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

如果有人可以幫助我 - 我真的appreciete它。

回答

2

這可能是您的嵌套pageranchorbuilder函數/代碼在循環「after」函數被調用之前運行。嘗試更直接地實施您的懸停功能以獲得更直接的行動。

當我在jquery .hover和回調函數中實現.refresh時,我遇到了相同的性能問題,並且實際上得到了相當快速的結果。

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