我正在使用Cufon和jCycle来创建一个旋转木马。我想在悬停事件中更改链接的颜色。这样可以正常工作,但它有一点烦人的延迟,如0.5秒。
我已经在使用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);
如果有人能帮助我 - 我会非常感激。
答案 0 :(得分:2)
可能是你的嵌套pageranchorbuilder函数/代码在循环之前运行&#34;在&#34;之后函数被调用。尝试更直接地实施悬停功能以获得更直接的操作。
我遇到了相同的性能问题,当我在jquery .hover和回调函数中实现.refresh时,实际上得到了相当快的结果。
$(".slidehow_tab a").hover(
function () {
$(this).addClass("hover");
Cufon.refresh();
},
function () {
$(this).removeClass("hover");
Cufon.refresh();
}
);