我正在尝试将滚动到顶部链接按照用户鼠标进入左侧的固定div。我已经做了一个我试图做的原型的小提琴,但我的技能太低,实际上没有它的功能。请帮忙。
var mouseX = 0, mouseY = 0;
$(".side").mousemove(function(e){
mouseY = e.pageY-19;
});
var follower = $("#follower");
yp = 0;
var loop = setInterval(function(){
yp += (mouseY - yp) / 6;
follower.css({top:yp});
}, 10);
答案 0 :(得分:1)
我的网站上有这样的内容:
$("body").on( "mousemove" , "a.refreply", function(e){ relocatePopup(e); });
当鼠标位于“refreply”类的某个链接的顶部时,它显示div#popup,如果鼠标移动,则弹出窗口跟随光标。显示弹出窗口的部分未在此处显示,它基本上以$('#popup')结尾.show();
函数relocatePopup是:
function relocatePopup ( e, useglobal ) {
if ( useglobal == true ) {
var e = new Object;
e.pageX = global_x;
e.pageY = global_y;
}
var popup_height = parseInt( $("div#popup").css("height") ) ;
var bottom_popup = e.pageY + popup_height + 20;
var bottom_page = window.pageYOffset + window.innerHeight;
if ( bottom_popup > bottom_page ) {
$('div#popup').css("top", bottom_page - popup_height - 5 ).css("left",e.pageX+20);
}else{
$("div#popup").css("top",e.pageY+20).css("left",e.pageX+20);
}
}
基本上它获取鼠标事件的x,y,其余的是计算弹出窗口的内容是否出现在可见屏幕之外,重新计算位置以使弹出窗口保持在页面内,然后更改“元素的顶部“和”左“,必须绝对定位。