禁止页面滚动--完美解决方案,滚动条显示与否,手持设备兼容与否

禁止页面滚动 有三种方法

1,依靠css 将页面
document.documentElement.style.overflow='hidden';
 
document.body.style.overflow='hidden';//手机版设置这个。
如果设置了如上,页面的滚动条将会消失,此时鼠标滚轮失效。
但是 你用键盘的 上下左右键,你会发现,页面仍然可以滚动。 别着急 往下看
2,在 1 的基础上 添加 js功能
    var move=function(e){
e.preventDefault && e.preventDefault();
e.returnValue=false;
e.stopPropagation && e.stopPropagation();
return false;
    }
    var keyFunc=function(e){
if(37<=e.keyCode && e.keyCode<=40){
return move(e);
}
}
    document.body.onkeydown=keyFunc;
好了 ,到了这里,你会发现页面木有任何问题了。鼠标,键盘 都不能将页面滚动。
不过....对于高级用户来说,仍然有问题,比如 继续往下看
 
3,假设用户希望 滚动条 一直处于显示状态 肿么办捏???? ok ,继续
    var st
    var scroll=function(e){
clearTimeout(st);
st=setTimeout(function(){
window.scrollTo(loc.scrollLeft,loc.scrollTop);
},5);
    }
    window.onscroll=scroll;
上述代码 可以似的 用户的任何滚动操作,都将被还原。注意这个方式很消耗内存(虽然做了setTimeout),但是谁让需求比较二逼呢对吧~
 
如果你是 非常高级的用户需求,比如 你希望你的网站仍然能够兼容 手机端呢????
上述是有问题的哦~~~~~~  卖个关子,接下来会写  手持设备兼容的解决方案。 

最新文章

  1. javascript 笔记!
  2. python logging usage
  3. 连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序
  4. 基于Netty的私有协议栈的开发
  5. ios7 ios8 cell中下划线偏移(separator Insets)处理方法
  6. Android 代码混淆之部分类不混淆的技巧
  7. mac上如何卸载oracle jdk 1.7
  8. Alfred 使用简介
  9. 公司mysql数据库设计与优化培训ppt
  10. Visual studio 2013安装及单元测试
  11. GTK+中的树状列表构件(GtkTreeView)
  12. alsa音频驱动科普第一课
  13. Android 常用动画小结
  14. Extjs4中的布局
  15. DrawerLayout学习笔记
  16. 微信小程序入门(一)
  17. python 字符串 切片
  18. java Spring 各版本jar包下载地址
  19. 【Python020--内嵌函数和闭包】
  20. C语言运算符优先级及结合性

热门文章

  1. HTTP总结
  2. 可变大小、颜色边框、样式的UISwitch
  3. 如果plsql连接没问题,但程序中报ORA-12504的错误
  4. 深度学习之 TensorFlow(一):基础库包的安装
  5. EL表达式的语法与应用
  6. rabbitmq消息消费者
  7. angularJs表格效果
  8. java 实现word 转 pdf
  9. 【算法笔记】B1021 个位数统计
  10. apache 2.4 访问权限配置