如何使用isroll javascript在手机差距
how to use iscroll javascript in phone gap?
我已经尝试实现iscroll java脚本为我的应用程序作为补救过程的CSS 位置:fixed,不工作在android 2和3版本使用cordova 2.1.0
我已经从这里复制了iscroroll -lite的javascript
<div id="wrapper" class="wrapper">
<div id="wrapper-container" class="wrapper-container">
<div id="header" class="header">
<div id="header_title" class="header_title"> </div>
<div id="abc" class="abc"><img src="img/abc.png""/> </div>
</div>
<div id="images" class="images"><img name="slide" src="img/abc.png" width=100%; />
</div>
<div id="description" class="description">
<div id="title" class="title">
<h1><strong></strong></h1>
</div>
<div id="desc" class="desc">
</div>
</div>
<div id="footer" style="background-image:url(img/bar.png);" class="footer">
<div id="footer_text" class="footer_text">footer_text</div>
<div id="image" class="image noSelect"><img src="img/info.png" onclick="info()"/></div>
</div>
</div>
desc标签的内容即将溢出
CSS.wrapper
{
position: absolute; width:auto; margin:0 auto; height:100%; overflow: hidden;
}
.wrapper_other
{
width:auto; margin:0 auto; height:100%; overflow: hidden;
}
.wrapper_container
{
width:100%; margin:0 auto; font-family:Arial, Helvetica, sans-serif;
}
.header
{
float:left; height:100%; min-height:100%; margin:0%; width:96%; padding:3% 2% 0;
}
.header_title
{
float:left; padding:0%; margin:0%; height:100%; min-height:100%; font-size:22px; color: #FFFFFF; text-align:center; font-weight: bold; width:80%;
}
.images
{
position:relative; width:100%;
}
.description
{
float:left; width:100%; overflow:auto; height:100%;
}
.title
{
width:85%; font-weight:bold; float:left; font-size:20px; margin-top:3%; margin-bottom:2%; margin-left:5%; color:#FFFFFF;
}
.desc
{
width:90%; font-size:15px; margin-left:5%; margin-right:5%; float:left; color: #FFFFFF; overflow:auto; text-align:justify; line-height:18px; padding:0px 0px 40px 0px;
}
.desc p
{
margin-top:0;
}
.footer
{
width:100%; position:absolute; bottom:0; font-size:11px; color:#FFFFFF; text-align:center; height:30px;
}
.footer_text
{
text-indent:1%; float:left; text-align:center; width:75%; margin-top:2%;
}
.info
{
width:25%; float:right; padding-top:1%;
}
使用iscroll <script type="text/javascript" charset="utf-8" src="iscroll.js"></script>
<script type="text/javascript" charset="utf=8" src="cordova-2.1.0.js"></script>
var myScroll;
document.addEventListener("deviceready", onDeviceReady, false);
function scroll()
{
myScroll = new IScroll('.wrapper', { scrollX:false , scrollY:true});
}
----
----
function onDeviceReady()
{
scroll();
----
----
滚动时,我只得到下面的
W/webview(3101): Miss a drag as we are waiting for WebCore's response for touch down.
问题:
它没有滚动。如果有的话,在花了很大的努力之后,它只滚动一次。我回到主页面,它根本不滚动
,请指引我! !
编辑:这我已经尝试了各种组合…取代所有div作为li标签…CSS并不有效。然后在每个div中使用li标签。
<div id="wrapper">
<div id="scroller">
<ul>
<div id="header " class="header ">
<div id="header_title" class="header_title"> </div>
<div id="xyz" class="xyz"><img src="img/xyz.png" onClick="xyz()"/></div> </div> </ul>
<ul>
<div id="images" class="images"><img name="slide" src="img/banner1.png" width=100%; />
</div>
</ul>
<ul>
<div id="param" class="param">
<div id="abc" class="abc noSelect"> </div>
<div id="def" class="def noSelect" > </div>
<div id="ghi" class="ghi noSelect" > </div>
<div id="ijk" class="ijk noSelect" > </div>
</div>
</ul>
<ul>
<div id="description" class="description">
<div id="title" class="title">
<h1><strong><li></li></strong></h1>
</div>
<div id="desc" class="desc">
<p><li></li> </p>
</div>
</div>
</ul>
您似乎没有遵循iscroroll要求的结构。isroll页面特别提到(注意粗体文本):
你有最佳的isroll结构是:
<div id="wrapper"> <ul> <li></li> ... ... </ul> </div>
在本例中,将滚动UL元素。isscroll一定是应用于滚动区域的包装器。
重要:只有包装器元素的第一个子元素会被滚动。如果你需要更多的元素在滚轮内,你可以使用以下结构:
<div id="wrapper"> <div id="scroller"> <ul> <li></li> ... ... </ul> <ul> <li></li> ... ... </ul> </div> </div>
在这个例子中,滚动元素将被滚动(与
:
<div id="wrapper" class="wrapper">
<div id="wrapper-container" class="wrapper-container">
... head ...
</div>
... (your main div here) ...
</div>
你的主div不会被iScroller滚动,你只让headerdiv可滚动。先看看isroll的演示,然后测试一下。它在你的设备上运行正常吗?
在你发布的脚本代码中,我发现了一个错误。我不知道你的实际文件中是否也有这个错误。但我想先分享一下。
这是你的脚本代码
myScroll = new isscroll('。{scrollX:false, scrollX: true});
我发现了错误
-
。wrapper是
CSS
规则的名称。你最好在这里通过ID
。将假定您的ID
是iScrollWrapper然后启用滚动在以下格式。
myScroll = new IScroll('iScrollWrapper', {scrollX:false, scrollY:true});
现在将看到iScroll
的最佳DOM structure
(HTML格式),这不会给您带来麻烦,仍然是W3C valid
选项1
<div id="iScrollWrapper" class="****** IMPORTANT_POINT_1 ******">
<ul>
<li>
<YOUR_REMAINING_DOM_STRUCTURE_IN_THE_WAY_YOU_NEED>
</li>
</ul>
</div>
选项2
<div id="iScrollWrapper" class="****** IMPORTANT_POINT_1 ******">
<ul>
<li>
<YOUR_ONE_DOM_STRUCTURE_IN_THE_WAY_YOU_NEED>
</li>
<li>
<YOUR_ANOTHER_DOM_STRUCTURE_IN_THE_WAY_YOU_NEED>
</li>
<li>
<YOUR_ANOTHER_DOM_STRUCTURE_IN_THE_WAY_YOU_NEED>
</li>
</ul>
</div>
你要做的第一件事是
****** IMPORTANT_POINT_1 ******
附加iScroll的元素应该具有非静态,非固定的位置类型(可以使用' relative
'或' absolute
')。该元素应该有height
在 pixel
(如果你有min-height
或max-height
,但没有**height**
iScroll
会说对不起。它不会工作)
现在我们将看到如何添加iscroroll
附加iScroll
的好方法如下(这是我在为元素应用iScroll
时所学到的)
如果您使用Single Page Application (SPA)
,则
if('undefined' != typeof iScrollerObject){
iScrollerObject.destroy();
}
iScrollerObject = new iScroll('iScrollWrapper',{/* OPTIONS_GOES_HERE */});
如果您在SPA应用程序中将iScrollerObject
作为成员变量,则使用
var _this = this;
if(null != _this.iScrollerObject){
_this.iScrollerObject.destroy();
}
_this.iScrollerObject = new iScroll('iScrollWrapper',{/* OPTIONS_GOES_HERE */});
用于普通浏览器页面。
var iScrollerObject = new iScroll('iScrollWrapper',{/* OPTIONS_GOES_HERE */});
如果你动态更新内容,那么在你的选项中使用checkDOMChanges : true
。如果它仍然无法更新滚动条进行动态DOM更改那么在完成动态DOM更改后调用iScrollerObject.refresh();
我分享了我在iScroll
方面的经验。如果你需要什么,请告诉我。请记住,您使用的是iScroll lite
版本,它实际上比标准iScroll4
具有更少的功能。如果你想使用iScroll
版本,那就使用iScroll4
。
- 从手机中选择多个图像'使用phonegap的多媒体资料
- 如何使用手机浏览器上的按钮拨打USSD代码
- 是否可以在系统/电脑浏览器中访问手机摄像头
- Jquerymobile手机.变更页转换:someVariable
- 手机摄像头没有'不起作用
- 如何在java脚本中验证手机号码
- 正在检测html5手机中的抖动
- GCM推送通知,如果应用程序在手机中关闭(Phonegap Android)
- 当屏幕键盘出现在手机中时,窗体会隐藏起来
- Skrollr js没有在手机中向下滚动
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- Ionic应用程序无法识别android手机中的语音
- JQuery手机.网站上只有一个https页面
- 正在检测智能手机浏览器上的悬停或鼠标悬停
- Jquery手机单页app+视频+动态变化视频
- 如何使用isroll javascript在手机差距
- 黑莓手机市场的差距
- 重新启用touchmove eventlistener.iPhone应用程序与手机差距
- 如何检索IMEI不使用NativeAndroid/手机差距黑莓10
- 问题与选择查询在sqlite ios手机差距