jQuery Mobile Scrollview
Donc je suis en train de faire une liste déroulante:
<div data-role="content-primary" class="list" style="height:100%; overflow:scroll" data-scroll="y">
<ul data-role="listview" id="mainList" >
<asp:Repeater ID="expList" runat="server" OnItemDataBound="expList_ItemDataBound" ClientIDMode="Static">
<ItemTemplate>
<li class="opener" runat="server" id="lItem" style="border-top: 1px solid rgb(200,200,200)">
<div id="divPic" runat="server" class="pic">
<h2><asp:Literal runat="server" ID="litName"></asp:Literal></h2>
<p><asp:Literal runat="server" ID="litDesc"></asp:Literal></p>
<input type="hidden" Id="brand" runat="server"/>
<input type="hidden" Id="cat" runat="server"/>
</div>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</div>
enfermé dans: <.section class="ex_list" style="float: right; width:70%;overflow:hidden"> tag
- Je utiliser les scripts suivants:
http://jquerymobile.com/test/experiments/scrollview/jquery.mobile.scrollview.js
http://jquerymobile.com/test/experiments/scrollview/scrollview.js
En plus de jqm et jq. Le problème est que sur PC le défilement ne fonctionne pas (pourtant c'est pas si mal), mais sur l'iPad, tout le site est en cours de défilement de plus à la liste. L'utilisateur peut également faire défiler la liste SUR le site et voir le gris bg, jusqu'à ce safari cesse de défiler.
EDIT: En plus ces 2 JS de faire de " toggleClass()' fonction jQuery fonctionne pas.
- et quel est le résultat que vous attendiez?
- Sauf pour le travail " toggleClass()' fonction, eh bien, je voulais seulement listview à être déplacé. Ou si toute la page est censée être de défilement, au moins il ne devrait pas faire défiler au-dessus de la page, montrant fond gris... Vous l'aurez probablement remarqué, il fait partie de l'ASP, de contrôle, de Maîtrise de la Page n'a rien de données du type de défilement, mais il parchemins:'(
Vous devez vous connecter pour publier un commentaire.
Je viens de terminer la mise en œuvre de cette sous android(2.2 et 3.2) et sur iphone (pas ipad) pour le scrollview pour fonctionner correctement, vous devez inclure le css fichier, et le jquery easing script.
Scripts doivent être inclus dans cet ordre:
Le fichier css vous donne les barres de défilement, jquery.l'assouplissement donne l'animation fluide (un projet impressionnant par lui-même), jquery.mobile.le scrollview ne le levage lourd, le scrollview racle la page et ajoute assez de balisage de la scrollview à prendre le dessus.
Je suis sûr que je n'ai pas besoin de vous dire qu'il est "Expérimental" pour une raison (un comportement bizarre tout de faire défiler une liste, il rompt également la possibilité de cliquer sur les boutons et les zones de texte sur chromium-browser - je n'ai pas testé d'autres navigateurs), cependant j'ai trouvé très peu de problèmes avec elle sur des appareils mobiles. J'aime vraiment qu'il me permet de garder les onglets en haut de la page tout le temps. La nidification de nombreuses scrollviews est assez cool aussi.
Je ne peux pas dire que j'ai remarqué des problèmes avec toggleClass fonction, cependant que pourrait avoir quelque chose à voir avec le scrollview et l'ajout d'une annotation.
REMARQUE: dans la version la plus récente de jQuery mobile rc2, les boutons et le texte des entrées devrait fonctionner.
MODIFIER
De jQuery Mobile 1.1.0, il est recommandé d'utiliser le fixe les en-têtes à l'aide de la
data-position="fixed"
attribut dans l'en-tête (ou pied de page) et de supprimer complètement le scrollview.J'ai essayé moi-même et il fonctionne beaucoup mieux (pour Android 2.2+ et iOS5 - BlackBerry OS pas testé par moi-même, mais le blog prétend qu'il doit travailler pour BB7). Il est plus rapide et plus lisse que la js solution et a moins de bugs graphiques. Assurez-vous de supprimer les js, css et toutes les références à
data-scroll
comme il interfère/pauses tout.Pour la version non prise en charge et de l'OS que vous pourriez encore besoin de la scrollview js/css etc, mais dans mon expérience, les endroits qui ne prennent pas en charge les fixes en-têtes ont été trop lents à exécuter du js version, de toute façon.
data-position="fixed"
propriété dans l'en-tête ou le pied de page pour l'empêcher de défiler avec le contenu.Nice thread ici, comme à apporter une petite note:
Si vous aimez les zones grises dans Safari pour disparaître dans jQuery mobile les pages au moment de défilement, vous pouvez utiliser:
Aussi, plus important encore, ce qui vous permettra de travailler avec des bases de données hors ligne de manière plus efficace, parce que, normalement, l'INTERFACE utilisateur (touchmove événement), les interruptions de SqlLite DB fonctions sur des appareils mobiles, de cette façon, l'interruption est évité.