首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >List pan函数

List pan函数
EN

Stack Overflow用户
提问于 2013-06-19 00:33:38
回答 1查看 77关注 0票数 0

我写了这个小脚本。它工作得很好,直到有太多的内容。

比较一下:http://jsbin.com/axewuf/1

有了这个:http://jsbin.com/axewuf/3

唯一的区别是内容。第一个示例是正常工作的,但是由于某些原因,当像第二个示例一样有太多内容时,脚本不能正常工作。

我错过了一些东西。您应该能够将鼠标一直拖到列表的末尾,但是在您到达之前,鼠标已经到达了屏幕的末尾。我想我需要调整一下屏幕的高度,但我不知道该怎么做。

有没有人能弄明白?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-19 19:42:15

一种解决方案是分离代码。一个用于当内容高度低于窗口高度时,另一个用于内容高度高于窗口高度时。

它不是完美的,但似乎是有效的。

代码语言:javascript
复制
var container = jQuery('.container');
var object = jQuery('.object', container);
var containerHeight, containerOffsetTop, 
    objectHeight, objectNegativeMargin, objectOffsetTop, 
    heightPercent, objectMargin, mouseY;

object.mousemove(function(e){
    containerHeight = container.height();
    containerOffsetTop = container.offset().top;
    objectHeight = object.height();
    objectNegativeMargin = (objectHeight/2);
    objectOffsetTop = object.offset().top;

    if(objectHeight > containerHeight) {
        heightPercent = (e.pageY - containerOffsetTop) / containerHeight;
        objectMargin = -(heightPercent * (objectHeight-containerHeight));
    } else {
        mouseY = e.pageY - objectNegativeMargin;
        objectMargin = (objectOffsetTop - mouseY)/2;
    }                

    object.css({ marginTop : objectMargin });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17174252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档