javascript-在Android中使用Jquery Mobile和Phonegap进行Touchmove和可滚动内容

javascript-在Android中使用Jquery Mobile和Phonegap进行Touchmove和可滚动内容,第1张

概述好的,所以我发现使用JqueryMobile和Phonegap开发androidApp在android4中工作正常,但是在旧版本(例如2.2.2)上,可滚动功能中断.因此,我尝试使用iScroll,但是存在冲突的问题,最终我只是决定编写一个Javascript函数来处理它.它曾经可以工作,但是现在坏了.所以这里是:<!DOCTYPEHT

好的,所以我发现使用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" >                    <h1>Styles</h1>                </div><!-- /header -->                    <div data-role="content" data-them="a">                        <div ID="scrolldroID" >                                <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" >                    <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" > </div>

并替换:

<div data-role="footer" >

通过

<div data-role="footer" data-position="fixed" data-tap-toggle="false">
总结

以上是内存溢出为你收集整理的javascript-在Android中使用Jquery Mobile和Phonegap进行Touchmove和可滚动内容全部内容,希望文章能够帮你解决javascript-在Android中使用Jquery Mobile和Phonegap进行Touchmove和可滚动内容所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1094600.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存