javascript-在Android中使用Jquery Mobile和Phonegap进行Touchmove和可滚动内容
发布时间:2023-03-14 12:47:36 所属栏目:教程 来源:
导读:我发现使用Jquery Mobile和Phonegap开发android App在android 4中工作正常,但是在旧版本(例如2.2.2)上,可滚动功能中断.因此,我尝试使用iScroll,但是存在冲突的问题,最终我只是决定编写一个Javascript函数来处理它.它
|
我发现使用Jquery Mobile和Phonegap开发android App在android 4中工作正常,但是在旧版本(例如2.2.2)上,可滚动功能中断.因此,我尝试使用iScroll,但是存在冲突的问题,最终我只是决定编写一个Javascript函数来处理它.它曾经可以工作,但是现在坏了. <!DOCTYPE HTML> <html> <head> <title>Cordova</title> <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script> <script type="text/javascript" charset="utf-8" src="js/jquery-1.8.1.min.js"></script> <script type="text/javascript" charset="utf-8" src="js/jquery.mobile-1.2.0-beta.1.min.js"></script> <style> .scrollstyle{ height: 320px; } </style> <script type="text/javascript"> document.addEventListener("deviceready", checkVersion, false); function checkVersion() { var droidversion = device.version; myversion = droidversion.substr(0,1); alert(myversion); if ( parseInt(myversion) < 3 ) { alert("do the scroll"); setTimeout(function () { var startY = 0; //var startX = 0; var b = document.body; b.addEventListener('touchstart', function (event) { startY = event.targettouches[0].screenY; //startX = event.targettouches[0].screenX; }); b.addEventListener('touchmove', function (event) { event.preventDefault(); var posy = event.targettouches[0].screenY; var h = parent.document.getElementById("scrolldroid"); var sty = h.scrollTop; //var posx = event.targettouches[0].screenX; //var stx = h.scrollLeft; h.scrollTop = sty - (posy - startY); //h.scrollLeft = stx - (posx - startX); startY = posy; //startX = posx; }); }, 1000); } else { alert("havent done it!"); return false; } } </script> <link rel="stylesheet" href="css/jquery.mobile-1.2.0-beta.1.min.css" type="text/css" /> </head> <body> <div data-role="dialog" id="main" data-theme="a"> <div data-role="header" class="header"> <h1>Styles</h1> </div><!-- /header --> <div data-role="content" data-them="a"> <div id="scrolldroid" class="scrollstyle"> <ul data-role="listview"> <li>OK, that works, but why is the scrollbar</li> <li> scrolled down to the bottom of the dialog </li> <li>fsgsgestcontent, and not at the </li> <li>Line4</li> <li>Line5</li> <li>Line6</li> <li>Line7</li> <li>Line8</li> <li>Line9</li> <li>Line10</li> <li>Line11</li> <li>Line12</li> <li>Line13</li> <li>Line14</li> <li>Line15</li> <li>Line16</li> <li>Line17</li> <li>Line18</li> <li>Line19</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> <li>fsgsgesthsdgfeagsdgsdgwe4ghesgaegeg</li> </ul> </div> </div><!-- /content --> <div data-role="footer" class="footermodal"> <h1>footer</h1> </div><!-- /footer --> </div> </body> </html> 我仍然是初级开发人员,所以我的代码并不完美,抱歉.但是它应该可以工作,在Android 3中它不会执行该功能,因为滚动已经可以了.在Android 2.9.9或更低版本中可以.而且它应该使div可滚动,但不是,它曾经是,但是后来我以某种方式将其破坏了,我不知道该怎么做.如果有人知道或可以看到它的坏处,我会永远爱你告诉我.谢谢. 编辑我在Eclipse LogCat中也不断出现黄色错误,指出:“在等待WebCore响应以进行落地操作时,缺少拖动” <div data-role="dialog" id="main" data-theme="a"> <div data-role="page" id="main" data-theme="a"> 并删除ID为scrolldroid的div <div id="scrolldroid" class="scrollstyle"> </div> <div data-role="footer" class="footermodal"> <div data-role="footer" data-position="fixed" data-tap-toggle="false"> (编辑:驾考网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
