跟随鼠标的jQuery“滚动到顶部”按钮?

时间:2013-03-28 16:09:56

标签: javascript jquery scroll mouseevent

我正在尝试将滚动到顶部链接按照用户鼠标进入左侧的固定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);

小提琴:http://jsfiddle.net/grammakov/tDGRc/1

1 个答案:

答案 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,其余的是计算弹出窗口的内容是否出现在可见屏幕之外,重新计算位置以使弹出窗口保持在页面内,然后更改“元素的顶部“和”左“,必须绝对定位。