• Angularjs中ng-repeat与移动端滑动插件iScroll的冲突


    滑动不正常原因:
    1.在ng-repeat未将列表循环展示出来时,iScroll便被启动了,导致滑动异常,因此需要确保ng-repeat循环完毕后再初始化iScroll
    2.在动态的向ng-repeat循环列表中添加内容后,需要重新设置滑动区域#scroller的宽度,然后重新初始化一下iScroll插件

    <!DOCTYPE html>

    <html lang="en" ng-app="myApp">

    <head>

        <meta charset="UTF-8">

        <title>Title</title>

        <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

        <script src="https://cdn.bootcss.com/iScroll/5.2.0/iscroll.min.js"></script>

        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>

        <style>

            * {

                margin: 0;

                padding: 0;

            }

            #wrapper {

                position: absolute;

                z-index: 1;

                 100%;

                height: 100px;

                top:0;

                left:0;

            }

            #scroller {

                position: absolute;

                z-index: 1;

                 500px;

                height: 100%;

            }

            ul {

                 100%;

                height: 100%;

                text-align: center;

            }

            li {

                display: block;

                float: left;

                 100px;

                height: 100%;

                line-height: 100px;

            }

        </style>

    </head>

    <body ng-controller="myCtrl">

    <div>

        <div id="wrapper">

            <div id="scroller">

                <ul>

                    <li ng-repeat="item in names track by $index">

                        {{item}}

                    </li>

                </ul>

            </div>

        </div>

        <button ng-click="addItem()" style="margin-top: 350px">add</button>

    </div>

    <script>

        var app = angular.module('myApp', []);

        app.controller('myCtrl', ['$scope', function ($scope) {

            $scope.names = [1, 2, 3, 4, 5];

            $scope.count = 6;

            $scope.addItem = function () {

                $('#scroller').css('width', $scope.count * 100 + 'px');

                $scope.names.push($scope.count++);

                loaded();

            };

            var myScroll;

            window.onload = function () {

                loaded();

            };

            function loaded() {

                myScroll = new IScroll('#wrapper', {

                    scrollX: true,

                    scrollY: false,

                    mouseWheel: true

                });

            }

        }]);

    </script>

    </body>

    </html>

    你要的学习资料到了-WEB前端互动交流群04

    本裙会一直开放,欢迎喜欢交流的小伙伴们加入!

     

  • 相关阅读:
    2014-写给明年现在的自己
    DDD 领域驱动设计-Value Object(值对象)如何使用 EF 进行正确映射
    DDD 领域驱动设计-在动手之前,先把你的脑袋清理干净
    醍醐灌顶:领域驱动设计实现之路
    拨乱反正:DDD 回归具体的业务场景,Domain Model 再再重新设计
    设计窘境:来自 Repository 的一丝线索,Domain Model 再重新设计
    No zuo no die:DDD 应对具体业务场景,Domain Model 重新设计
    拨开迷雾,找回自我:DDD 应对具体业务场景,Domain Model 到底如何设计?
    【记录】GitHub/TortoiseGit 修改邮箱/提交者
    死去活来,而不变质:Domain Model(领域模型) 和 EntityFramework 如何正确进行对象关系映射?
  • 原文地址:https://www.cnblogs.com/xsns/p/6811723.html
Copyright © 2020-2023  润新知