相关疑难解决方法(0)

检测页面是否有垂直滚动条?

我只想要一些简单的JQ/JS来检查当前页面/窗口(不是特定元素)是否有垂直滚动条.

谷歌搜索给了我这些基本功能似乎过于复杂的东西.

如何才能做到这一点?

javascript jquery scroll

119
推荐指数
6
解决办法
10万
查看次数

准确确定元素是否可滚动

我正在开发一个自定义的knockout绑定,用于确定是否正在滚动特定元素,并使用元素相对于视口的顶部更新绑定的observable.现在,绑定似乎有效,但我担心是否存在某些情况不会发生.

HTML:

Scroll position: <span data-bind="text: scrollPosition"></span>

<div class="longdiv">    
    <p data-bind="scroll: scrollPosition">This is some text.</p>
    <div class="shim"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.longdiv {
    width: 200px;
    height: 200px;
    overflow: scroll;
    border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)

JS:

ko.bindingHandlers.scroll = {
    init: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
        var firstScrollableContainer = null;

        var binding = allBindings.get('scroll');

        $(element).parents().each(function (i, parent) {
            if ($(parent).css('overflow')=='scroll') {
                firstScrollableContainer = parent;
                return false;
            }
        });

        firstScrollableContainer = firstScrollableContainer || window;                

        binding(element.getBoundingClientRect().top);

        $(firstScrollableContainer).scroll(function() {            
            binding(element.getBoundingClientRect().top);
        });
    }
};

var ViewModel = …
Run Code Online (Sandbox Code Playgroud)

html jquery knockout.js

12
推荐指数
3
解决办法
1万
查看次数

标签 统计

jquery ×2

html ×1

javascript ×1

knockout.js ×1

scroll ×1