mobile safari下 overflow:auto无效的解决方法

1.在CSS文件加上一下代码:

::-webkit-scrollbar {
-webkit-appearance: none;       /*可去除系统默认的样式*/
width: 7px;                           /*滚动条宽度*/
}
::-webkit-scrollbar-thumb {    /*当焦点不在当前区域滑块的状态*/
border-radius: 4px;
background-color: rgba(0,0,0,.5);
-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}

2.模拟滚动条效果

function touchScroll(id) {

    if (isTouchDevice()) {

        var el = document.getElementById(id);

        var scrollStartPos = 0;

        document.getElementById(id).addEventListener("touchstart",

            function(event) {

                scrollStartPos = this.scrollTop + event.touches[0].pageY;

                event.preventDefault();

            },false);

        document.getElementById(id).addEventListener("touchmove",

            function(event) {

                this.scrollTop = scrollStartPos - event.touches[0].pageY;

                event.preventDefault();

            },false);    }}

touchScroll("id");   //调用需要overflow:auto的id即可。
时间: 2024-10-12 08:46:02

mobile safari下 overflow:auto无效的解决方法的相关文章

safari下无法模拟click()的解决方法

之前在HTML5 File API — 打开本地图片并预览里提供一种模拟单击file控件的方法,后来发现这种方法在safari下无法使用...之前的旅行笔记和天地图版都是这样,导致safari下点击打开文件按钮不可用,也不提示错误,也不知道是不是这个原因比赛没有入围,唉.... 解决方法很简单,其实不是不能模拟safari,之前<input type="file"/>隐藏用的是display:none,之后改成visibility:hidden,就可以用了!!!我擦. 原因

ios下元素溢出设置 overflow:auto; 不能滑动解决办法

ios下元素溢出设置 overflow:auto; 不能滑动解决办法: overflow:auto; overflow-y:scroll; -webkit-overflow-scrolling:touch; height:200px;

IE下iframe height=&quot;100%&quot;无效的解决方法

IE7下iframe height="100%"无效的解决方法就是css如下写法: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml&q

移动端:active伪类无效的解决方法

:active伪类常用于设定点击状态下或其他被激活状态下一个链接的样式.最常用于锚点<a href="#">这种情况,一般主流浏览器下也支持其他元素,如button等.在多按键的鼠标系统中,:active只适用于主按键,目前的大部分情况都是左键即主键. 该伪类下定义的CSS样式只在按下鼠标按钮与释放鼠标按钮之间的短暂瞬间被触发显示.使用键盘的tab键也可以触发:active状态. 说到:active伪类就不得不提到:link,:visited,:hover,:active这

C# ASP.NET Webservice调用外部exe无效的解决方法

最近用asp.net做webservice,其中有个功能是调用执行外部的exe(类似cmd中执行),但执行Process.Start之后就没有结果,同样代码在winform下正常,折腾两天终于找到解决方法 本文参考了以下网页,十分感谢 http://bbs.csdn.net/topics/300053869 http://blog.163.com/[email protected]/blog/static/15737970200862331842368/ 环境:win7 sp1 64位 以及II

vs2008【断点无效】解决方法

有时候,我们在用vs2008调试的时候,会出现断点无效.如下图: 第一反应,要看想一下是不是在debug下.如果在Release下,请参考我另篇文章 [怎么在Release下调试代码] 如果是在debug下: 1.检查工程配置是否设置正确. C++>General->Debug Information Format->Program Database (/Zi) C++>Optimization->Optimization->Disabled (/Od) Linker-

js中style.display=&quot;&quot;无效的解决方法

本文实例讲述了js中style.display=""无效的解决方法.分享给大家供大家参考.具体解决方法如下: 一.问题描述: 在js中我们有时想动态的控制一个div显示或隐藏或更多的操作,但如果我们style.display=""可能导致没有效果. 看下面一段代码: 复制代码代码如下: <style> #name {     display:none; }</style></head><body><div id=

Visual Assist X在Windows 8.1下出现中文乱码的解决方法

这主要是输入法造成的,我的输入法中有US.中文.搜狗输入法三个输入法:通过搜狗输入法管理器把"中文"去掉,或者通过语言首选项把"中文"去掉就不会在出现乱码. 这个办法的思路来自于http://www.cnblogs.com/Coling/p/3527233.html,但他说的是把除搜狗之外的都删除,我不赞同,作为开发者,经常输入英文,且经常使用Shift,只保留搜狗,那写代码时要累死.于是尝试删除"中文",结果就搞定了. Visual Assis

system.ComponentModel.Win32Exception (0x80004005): 目录名无效。 解决方法

有时候我们需要在程序中调用 cmd.exe  执行一些命令 比如 我们会在程序写到 /// <summary> /// 执行Cmd命令 /// </summary> /// <param name="workingDirectory">要启动的进程的目录</param> /// <param name="command">要执行的命令</param> private void StartCmd(