我在这里有一个非常简单的逻辑。我创建了容器,并将其放在我需要效果的所需位置的顶部,以在这种情况下发生 css 字体缩放。
但问题是,如果您在 .sortable li 周围移动鼠标的速度足够快,文字就会开始飞来飞去!
演示:http ://mac.idev.ge:800/words/将鼠标悬停在单词上。
是不是很奇怪?如何优化我的代码来解决这个问题?
// Zoom on hover effect for sortable items
// Create empty container
$("body").append("<div id='words_zoom'></div>");
var wz = $("#words_zoom");
$(document).on({
mouseenter: function() {
var item = $(this);
var item_offset = item.offset();
// position the zoom container
var central_left = item_offset.left;
var central_top = item_offset.top;
wz.show();
wz.css({"left":central_left,"top":central_top});
wz.html(item.html());
//
//wz.stop().animate({"font-size":"2.2em",top:"-=3",left:"-=3"}, 300, "easeOutExpo");
},
mouseleave: function() {
//
}
}, ".sortable li:not('.delete-text')");
//
$(document).on("mouseleave", "#words_zoom", function() {
//wz.css({"font-size":"2em",top:"+=3",left:"+=3"}).hide();
wz.hide();
wz.css({"left":0,"top":0});
});