Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在按钮上固定滚动位置单击特定滚动位置_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 在按钮上固定滚动位置单击特定滚动位置

Javascript 在按钮上固定滚动位置单击特定滚动位置,javascript,jquery,html,css,Javascript,Jquery,Html,Css,第三天,尝试使用纯CSS的方式(没有iScrolls,没有niceScroll)。我想要的似乎很简单:滚动页面,当单击按钮时,我希望页面停止滚动(将位置设置为固定),并将页面保持在该位置(而不是一直跳到顶部)。我想我的CSS可能有问题,但我有以下几点: body{ padding: 0; margin: 0; border: 0; } #wrapper{

第三天,尝试使用纯CSS的方式(没有iScrolls,没有niceScroll)。我想要的似乎很简单:滚动页面,当单击按钮时,我希望页面停止滚动(将位置设置为固定),并将页面保持在该位置(而不是一直跳到顶部)。我想我的CSS可能有问题,但我有以下几点:

        body{
            padding: 0;
            margin: 0;
            border: 0;
        }
        #wrapper{
            position: absolute;
            z-index: 1;
            width: 100%;
            left: 0;
            overflow: auto;
        }
        header{
            z-index: 2;
            top: 0; left: 0;
            width: 100%;
            height: 50px;
            background-color: black;
            padding: 0;
            text-align: center;
            color: white;
        }
html


主要新闻
    与onclick链接
      与onclick链接
        与onclick链接
          与onclick链接
            与onclick链接
              与onclick链接
                与onclick链接 //更多李的链接 var x; 函数某物{ x=$('body').scrollTop(); $('body').css({ 位置:'固定' }); }); 函数somethingelse(){ $('body').css({ 位置:“” }); $('body')。滚动顶部(x); }
我检查了警报,滚动位置保存在变量x中。我做错了什么


编辑1:我还想添加链接是动态添加的…也许这就是它一直滚动到顶部的原因?没有固定高度?

我不确定这是否正是您想要的,但我制作了一个JSFIDLE演示如何在用户单击链接后“锁定”(或切换)文档滚动。您可以基于以下内容创建解决方案:

var ScrollHandler = (function() {
    //Assumes jQuery has initialized
    var hasScrollListener = false;
    var toggleScrollLock = function() {
        if(!hasScrollListener) {
            $('body').css('overflow', 'hidden');
            $('.freezeScroll').css('color', '#ff0000');
        }
        else { 
            $('body').css('overflow', '');
            $('.freezeScroll').css('color', '#0000ff');
        }
        hasScrollListener = !hasScrollListener;
    }
    //Return a public toggle method
    return {
        toggleScrollLock: toggleScrollLock
    };
});

$(document).ready(function() {
    var scrollHandler = new ScrollHandler(),
        links = $('.freezeScroll');
        links.each(function(i, element) {
            $(element).on('click', function(e) { scrollHandler.toggleScrollLock(); });
        });
});
只需确保修改列表项以包含冻结滚动类:

<ul class="freezeScroll">link with onclick</ul>
用onclick链接

您缺少
函数something()
的右括号。可能是打字错误?@user2025469查看此示例,禁用滚动而不重置内容位置选项@FaisalSayed抱歉,这是一个打字错误,我的原始代码中有右括号。@srk,如果不使用外部库,是否无法使用纯css执行此操作?@user2025469使用简单的JQuery,您可能想了解使用JQuery>是如何实现的,这将帮助您获得解决方案,或者您正在寻找没有JQuery的解决方案?谢谢,它看起来可以工作,但我最终找到了如何在一个页面中的几个div上实现iScroll。我需要做的是在包装器中添加另一个div,这样就不会滚动正文,而是滚动包装器中的内容。谢谢你的帮助,我可能会用这个做点别的!
<ul class="freezeScroll">link with onclick</ul>