标签: scroll

如何将UITableView滚动到不包含行的部分?

在我正在处理的应用程序中,我有一个简单的样式UITableView,它可以包含一个包含零行的部分.我希望能够使用scrollToRowAtIndexPath滚动到此部分:atScrollPosition:animated:但是当我尝试滚动到此部分时由于缺少子行而出现错误.

Apple的日历应用程序可以执行此操作,如果您在列表视图中查看日历,并且今天日历中没有事件,则今天会插入空白部分,您可以使用工具栏中的"今天"按钮滚动到该部分在屏幕的底部.据我所知,Apple可能正在使用自定义的UITableView,或者他们正在使用私有API ......

我能想到的唯一解决方法是在0像素高的位置插入一个空的UITableCell并滚动到那个.但我的理解是,拥有不同高度的单元格对于滚动性能来说真的很糟糕.无论如何我仍然会尝试,也许性能打击不会太糟糕.

更新

由于似乎没有解决方案,我已经向苹果公司提交了一份错误报告.如果这对您也有影响,请提交rdar:// problem/6263339(Open Radar链接)的副本,如果您希望更快地修复此问题.

更新#2

我对这个问题有一个不错的解决方法,请看下面的答案.

iphone cocoa-touch scroll

32
推荐指数
2
解决办法
3万
查看次数

更有效的方法来处理jquery中的$(window).scroll函数?

在下面的代码中,我正在检查窗口是否正在滚动超过某个点,如果是,请更改元素以使用固定位置,以便它不会滚动到页面顶部.唯一的问题是,似乎是高度客户端内存密集型(并且实际上阻碍了滚动速度),因为在每个滚动像素我都在元素上反复更新样式属性.

在尝试更新之前检查attr是否已经存在会产生重大影响吗?是否有完全不同且更有效的实践来获得相同的结果?

$(window).scroll(function () {
    var headerBottom = 165;
    var fcHeight = $("#pnlMainNavContainer").height();

    var ScrollTop = $(window).scrollTop();
    if (ScrollTop > headerBottom) {
        $("#HeaderContentBuffer").attr("style", "margin-top:" + (fcHeight) + "px;");
        $("#AddFieldsContainer").attr("style", "position:fixed;width:320px;top:70px;left:41px;");
    } else {
        $("#HeaderContentBuffer").attr("style", "margin-top: 0px;");
        $("#AddFieldsContainer").removeAttr("style");
    }
});
Run Code Online (Sandbox Code Playgroud)

当我输入此内容时,我注意到StackOverflow.com使用相同类型的功能,并在本页右侧使用黄色的"类似问题"和"帮助"菜单.我不知道他们是怎么做到的.

jquery scroll

32
推荐指数
2
解决办法
4万
查看次数

ScrollView中的Android WebView仅滚动scrollview

在我的应用程序中,我有一个ScrollView,其中包含一些线性视图,一些textview和一个Webview,然后是其他线性布局等.问题是WebView不会滚动.Scroll仅侦听ScrollView.有什么建议??


<ScrollView >
    <TextView />
    <WebView />              <-- this does not scroll
    <TextView />
</ScrollView >
Run Code Online (Sandbox Code Playgroud)

android scroll scrollview webview

32
推荐指数
3
解决办法
4万
查看次数

在所有浏览器中为我的网站启用平滑滚动

我正在使用StellarSkrollr库开发一个视差滚动网站.由于Firefox的平滑滚动功能,该网站在Firefox中表现完美,但在Chrome中,使用鼠标滚轮滚动是生涩的,并且视差效果几乎被破坏.在保持性能的同时,有没有办法在所有浏览器中使用鼠标滚轮进行平滑滚动?

javascript performance scroll smooth-scrolling parallax

32
推荐指数
2
解决办法
8万
查看次数

如何使javascript scrollIntoView顺利?

在一个反应​​应用程序中,我有一个方法被调用以将特定节点带入视图,如下所示.

scrollToQuestionNode(id) {
        const element = document.getElementById(id);
        element.scrollIntoView(false);
}
Run Code Online (Sandbox Code Playgroud)

滚动很好,但滚动动作有点不稳定.我怎样才能让它顺利?我没有看到任何我可以为scrollIntoView提供的选项.

javascript css scroll reactjs

32
推荐指数
3
解决办法
4万
查看次数

滚动时如何锁定表格的第一行和第一列,可能使用JavaScript和CSS?

当您激活"冻结窗格"时,如何创建一个锁定第一行和第一列的表(如在Excel中)?我需要表格水平和垂直滚动(存在很多解决方案,但只允许垂直滚动).

因此,当您向下滚动表格时,第一行将保持不变,因为它将具有列标题.thead无论是什么使得解决方案变得更容易,这可能最终都会出现,或者可能不会出现.

向右滚动时,第一列保持不变,因为它保存行的标签.

我很确定单独使用CSS是不可能的,但有人能指出我的JavaScript解决方案吗?它需要在所有主流浏览器中工作.

javascript css excel scroll css-tables

31
推荐指数
3
解决办法
10万
查看次数

如何在jQuery UI对话框中禁用滚动条?

有谁知道是否有办法在jquery对话框中禁用滚动条?我在div中的内容是300 px,但对话框设置为200px.它自动放置滚动条但我不想要它们.我将自己添加到第二个div,它使它比窗口大.任何帮助表示赞赏.

jquery scroll dialog jquery-ui

31
推荐指数
3
解决办法
9万
查看次数

iOS overflow-x(或绝对位置)会让滚动起伏不定?

我希望我的网页只能垂直滚动.所以我已经设定overflow-x:hidden;了我的.page-wrapper.我.page-wrapper把两个绝对定位的层叠在一起.单击按钮时,顶层滑动到侧面(如上所述position:absolute;)并使网站实际上比100%视口更宽 - 因此它可以水平滚动.

为了防止水平滚动我设置overflow-x:hidden为我的.page-wrapper.

如果我这样做,我的正常内容的垂直滚动实际上是错误的,并且无法正常工作.

任何想法如何解决?

UPDATE

-webkit-overflow-scrolling: touch;似乎工作得很好,因为没有javascript正在改变任何高度.请参阅以下示例.我在这里做的是将主体的高度更新为第二层的内容高度 - 因此一旦上层向左滑动,就没有空的滚动空间.当向上滑动上层时,我style从主体上移除了attribte (设置高度).在这样做后,滚动再次波动.

function showInfos(show) {

    if ( show ) {
        $('#videos').addClass('slid');
        $('body').height($('#infos > .content').height());
        $('#page-wrap').addClass('no-overflow');
    } else if ( !show ) {
        $('#videos').removeClass('slid');
        $('#page-wrap').removeClass('no-overflow');
        $('body').removeAttr('style');
    }
}
Run Code Online (Sandbox Code Playgroud)

css iphone scroll ios

31
推荐指数
2
解决办法
4万
查看次数

如何确定滚动方向而不实际滚动

我正在编写一个用户第一次滚动的页面,它实际上并没有向下滚动页面,而是添加了一个带有转换的类.我想检测用户何时向下滚动,因为如果他向上滚动,我希望它能做其他事情.我发现的所有方法都是基于定义当前正文ScrollTop,然后在页面滚动后与body scrollTop进行比较,定义方向,但由于页面实际上没有滚动,所以body scrollTop()不会改变.

animationIsDone = false;

function preventScroll(e) {

    e.preventDefault();
    e.stopPropagation();
}

$('body').on('mousewheel', function(e) {

    if (animationIsDone === false) {
        $("#main-header").removeClass("yellow-overlay").addClass("yellow-overlay-darker");
        $(".site-info").first().addClass("is-description-visible");
        preventScroll(e);

        setTimeout(function() {
            animationIsDone = true;
        }, 1000);

    }


});
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的,但是这样,我滚动它的方向并不重要,触发事件

javascript jquery scroll

31
推荐指数
2
解决办法
4万
查看次数

滚动时改变CSS变换:生涩运动与平滑运动

我对现有的视差库感到不满,所以我正在努力编写自己的视差库.我目前的课程包括三个主要课程:

  • ScrollDetector跟踪元素相对于屏幕的滚动位置; 它具有返回表示其当前位置的float的函数:
    • 0 表示位于视口底部边缘的元素的上边缘
    • 1 表示位于视口顶部边缘的元素的下边缘
    • 所有其他位置都是线性插值/外插的.
  • ScrollAnimation使用ScrollDetector实例根据元素在另一个元素上插入任意CSS值ScrollDetector.
  • ParallaxativeAnimationScrollAnimation针对背景图像的特殊情况进行扩展,该背景图像应以窗口滚动速度的精确因子滚动.

我目前的情况是这样的:

  • ScrollAnimationS使用transform: translateY(x)工作进展顺利.
  • ParallaxativeAnimation使用translateY(x)工作,但动画jerkily.
  • ParallaxativeAnimation使用的translate3d(0, x, 0)是生涩,但不是那么糟糕.
  • Rellax库的动画,其使用translate3d(0, x, 0),工作完全顺利.

你可以在这支笔上看到比较.(jerkiness在Firefox中表现得最好.)我的图书馆在Bitbucket上.

我不知道我的图书馆里的问题在哪里,我不知道如何弄明白.这是一个精简的粘贴,在ScrollAnimation顺利滚动的课程中完成繁重的工作:

getCSSValue(set, scrollPosition) {
    return set.valueFormat.replace(set.substitutionString, ((set.endValue - set.startValue) * scrollPosition + set.startValue).toString() + set.unit)
}

updateCSS() {
    var cssValues = [];

    var scrollPosition = this.scrollDetector.clampedRelativeScrollPosition();

    var length = this.valueSets.length;
    for(var i …
Run Code Online (Sandbox Code Playgroud)

javascript css performance scroll parallax

31
推荐指数
2
解决办法
2322
查看次数