您的位置:

JS禁止滚动的实现方式

一、JS禁止滚动事件

在开发一些特殊的页面时,我们可能希望页面不随鼠标滚轮的滚动而滑动,这时我们可以使用JS禁止滚动事件来实现。下面是禁止鼠标滚轮事件的代码:

document.addEventListener('mousewheel', function(e) {
   e.preventDefault();
},{passive: false});

该代码中,我们使用addEventListener方法对mousewheel事件进行监听,然后传入一个回调函数,在回调函数中使用e.preventDefault()方法阻止默认的滚轮事件。其中,{passive: false}是参考Chrome浏览器的兼容性设置。

二、JS滚动条自动滚动

在一些需要自动滚动的场景中,我们可以使用JS来实现自动滚动效果。下面是使用JS自动实现滚动条自动向下滚动的代码:

var scrollHeight = 0;
function autoScroll() {
   var scroll = document.getElementById('scroll');
   scroll.scrollTop += 1;
   scrollHeight = scroll.scrollHeight - scroll.offsetHeight;
   if (scroll.scrollTop < scrollHeight) {
       setTimeout(autoScroll, 25);
   }
}
setTimeout(autoScroll, 1000);

该代码中,我们首先通过getElementById方法获取到需要自动滚动的元素,然后在autoScroll方法中对滚动条scrollTop属性进行修改,从而实现滚动。最后,我们使用setTimeout方法来调用autoScroll方法,从而实现自动滚动的效果。

三、JS禁止滚动条滚动

在一些特定的场景中,我们可能需要禁止页面的滚动条滚动。下面是禁止滚动条滚动的代码:

var scrollTop;
function noScroll() {                                                                                    
    scrollTop = document.body.scrollTop || document.documentElement.scrollTop;                         
    document.body.style.cssText += 'position:fixed;width:100%;top:-'+scrollTop+'px;';                    
}

function returnScroll() {                                                                                
    document.body.style.position = '';                                                                    
    document.body.style.top = '';                                                                         
    document.documentElement.scrollTop = scrollTop;                                                      
}

该代码中,我们首先定义了noScroll方法和returnScroll方法,noScroll方法用于禁止滚动,returnScroll方法用于恢复滚动。在禁止滚动时,我们通过修改body的css样式来实现,具体是将position设为fixed,将top设为当前滚动条的位置。在恢复滚动时,我们只需要将position和top设为原来的值即可。

四、JS无缝滚动

在一些需要展示多条信息的场景中,我们可以使用JS实现滚动通知的效果。下面是使用JS实现无缝滚动效果的代码:

var speed = 50,
    scrollBegin = document.getElementById('scrollBegin'),
    scrollEnd = document.getElementById('scrollEnd'),
    scrollArea = document.getElementById('scrollArea');

scrollEnd.innerHTML = scrollBegin.innerHTML;

function scrollUp() {
    if (scrollEnd.offsetTop - scrollArea.scrollTop <= 0) {
        scrollArea.scrollTop -= scrollBegin.offsetHeight;
    } else {
        scrollArea.scrollTop++;
    }
}

var timer = setInterval(scrollUp, speed);

scrollArea.onmouseover = function() {
    clearInterval(timer);
};

scrollArea.onmouseout = function() {
    timer = setInterval(scrollUp, speed);
};

该代码中,我们首先通过定义speed、scrollBegin、scrollEnd、scrollArea等变量来获取需要操作的元素。然后,我们将scrollBegin的innerHTML赋值给scrollEnd,从而实现内容的无缝滚动。接着,我们使用setInterval方法来定时调用scrollUp方法,实现scrollTop的修改,从而实现滚动的效果。最后,我们监听mouse事件,通过clearInterval和重新调用setInterval来实现滚动的停止和恢复。

五、JS滚动到底部

在一些需要加载大量数据的场景中,我们可能需要将页面滚动到底部。下面是使用JS滚动到底部的代码:

var box = document.getElementById('box');
box.scrollTop = box.scrollHeight;

该代码中,我们首先获取到需要滚动的元素,然后将scrollTop设置为scrollHeight,从而实现将页面滚动到底部的效果。

六、JS滚动到指定位置

在一些需要锚点跳转的场景中,我们可能需要将页面滚动到指定位置。下面是使用JS滚动到指定位置的代码:

var anchor = document.getElementById('anchor');
anchor.onclick = function() {
    document.documentElement.scrollTop = document.getElementById('target').offsetTop; 
};

该代码中,我们首先获取到需要滚动的目标元素,然后在点击事件中对documentElement的scrollTop进行修改,从而实现将页面滚动到指定位置的效果。

七、JS自动滚动列表

在一些需要不断滚动的列表场景中,我们可以使用JS实现自动滚动效果。下面是使用JS自动滚动列表的代码:

var scrollTop = 0,
    newsList = document.getElementById('newsList');

function autoScroll() {
    scrollTop++;
    if (scrollTop >= newsList.scrollHeight - newsList.offsetHeight) {
        scrollTop = 0;
        newsList.scrollTop = scrollTop;
    } else {
        newsList.scrollTop = scrollTop;
    }
}

var timer = setInterval(autoScroll, 50);

newsList.onmouseover = function() {
    clearInterval(timer);
};

newsList.onmouseout = function() {
    timer = setInterval(autoScroll, 50);
};

该代码中,我们首先定义了scrollTop、newsList等变量来获取需要操作的元素。然后,我们使用setInterval方法来定时调用autoScroll方法,实现scrollTop的修改,从而实现自动滚动的效果。最后,我们监听mouse事件,通过clearInterval和重新调用setInterval来实现滚动的停止和恢复。

八、JS禁止页面滚动

在一些需要禁止页面滚动的场景中,我们可以使用JS实现禁止页面滚动的效果。下面是使用JS禁止页面滚动的代码:

var scrollFunc = function(event) {
    event.preventDefault();
}

document.addEventListener('touchmove', scrollFunc, {passive:false});
document.addEventListener('mousewheel', scrollFunc, {passive:false});

该代码中,我们使用addEventListener方法来对touchmove事件和mousewheel事件进行监听,然后传入一个回调函数,在回调函数中使用event.preventDefault()方法阻止默认的滚动事件。其中,{passive: false}是参考Chrome浏览器的兼容性设置。

JS禁止滚动的实现方式

2023-05-18
CSS禁止滚动的实现

2023-05-21
div禁止点击的多种实现方式

2023-05-18
ios禁止侧滑js,ios如何禁止页面滑动

2022-11-23
JavaScript技巧之禁止页面滚动

2023-05-18
chrome禁止js(chrome禁止自动播放视频)

本文目录一览: 1、谷歌浏览器怎么关掉JS 2、如何禁止userchrome.js的一个功能 3、chrome怎样禁用掉前端使用的js 4、怎么在chrome 浏览器61版本禁用js 谷歌浏览器怎么关

2023-12-08
JS控制滚动条滚动全攻略

2023-05-17
web中js时间滚动(js页面滚动)

本文目录一览: 1、JS实现滚动条触底加载更多 2、java web项目中js怎么取到div中滚动条的高度? 3、js如何控制整个页面滚动条的位置 4、web自动化中页面多个滚动条时的拖动操作? 5、

2023-12-08
求js实现图片不间断滚动代码,求js实现图片不间断滚动代码的

2022-11-25
chrome禁止百度js(chrome禁止百度js知乎)

本文目录一览: 1、怎么在chrome 浏览器61版本禁用js 2、chrome浏览器屏蔽了js代码的执行 3、chrome怎样禁用掉前端使用的js 怎么在chrome 浏览器61版本禁用js 首先,

2023-12-08
js移动端触摸事件完整代码,移动端触屏事件

本文目录一览: 1、JS移动端获取触控位置 2、javascript 在移动端怎么做到左右触摸事件 ontouchmove吗?求代码 3、如何js实现触屏点击事件 JS移动端获取触控位置 1、如图位置

2023-12-08
JS滚轮事件详解

2023-05-20
js实现无缝滚动思路及代码(js图片无缝滚动的原理)

本文目录一览: 1、js中无缝滚动轮播图有多少种做法? 2、JS无缝滚动图片的代码 麻烦大神帮我解释下每句的含义 3、js 无缝滚动只滚动一次 4、js图片无缝滚动的原理是什么 5、javascrip

2023-12-08
CSS禁止选中

2023-05-18
如何禁用网页滚动?

2023-05-12
js和canvas实现数字滚动,canvas 滚动条

本文目录一览: 1、Unity3d如何实现滚动文本框 2、如何实现canvas的图片轮播 3、怎样canvas画布上添加滚动条,显示更多数据 4、HTML5 在CANVAS标签里面增加滚动条 Unit

2023-12-08
js禁止复制代码(js禁止复制文字)

本文目录一览: 1、网页禁止复制怎么办 2、MetInfo 怎么设置JS禁止复制? 3、怎么使用JS禁止复制粘贴 4、手机页面 如何 用js 禁止 拷贝文字? 网页禁止复制怎么办 在网页上查询数据经常

2023-12-08
js编写图片手动滚动的代码(js滚动图片怎么做)

本文目录一览: 1、怎么用JS脚本使多张图片滚动? 2、js实现图片滚动效果 3、求JS图片滚动代码 怎么用JS脚本使多张图片滚动? 推荐使用marquee实现图片滚动,示例:marqueescrol

2023-12-08
js网页自动滚动,html 自动滚动

本文目录一览: 1、请教JS高手,怎么让Iframe中的页面自动滚屏 2、js怎么控制网页滚动到指定位置 3、fullpage.js自动滚动怎么设置 4、js控制页面滚动(实例) 请教JS高手,怎么让

2023-12-08
禁止调试js(禁止调试标识)

本文目录一览: 1、怎么禁止js文件在网页中执行???? 2、IE浏览器怎样禁用js 3、如何禁止浏览器执行JAVASCRIPT脚本代码? 怎么禁止js文件在网页中执行???? 如果你想直接在浏览器去

2023-12-08