zoukankan      html  css  js  c++  java
  • 结构-行为-样式-requireJs实现图片轮播插件

    最近工作需要,就自己写了一个图片轮播插件,不过想到要集成到框架中,于是又用RequireJs改了一遍。

    主要文件:
    • style.css
    • jquery-1.11.1.min.js
    • require.js
    • viewpager.js
    • view.js
    • index.html

    viewpager.js:

    define(['jquery'], function ($) {
        function ViewPager(setting) {
            var myset = {
                index: 0
            };
            setting = $.extend({}, myset, setting);
            this.init(setting);
        };
        ViewPager.prototype = {
            init: function (s) {
                this.id = s.id;
                this.list = $("#" + s.id).find("li");
                this.index = s.index;
                this.isAuto = s.isAuto;
                this.renderUI();
                this.bindUI();
            }
            , renderUI: function () {
                var inHtml = $('<div class="prev"><span class="prev_icon"></span></div><div class="next"><span class="next_icon"></span></div>');
                //选择器到指定的ID
                //inHtml.appendTo("body ul#viewpager");
                $("#" + this.id).append(inHtml);
            }
            , bindUI: function () {
                var that = this;
                if (that.isAuto) {
                    setInterval(function () {
                        that.prev();
                    }, 3000);
                }
                $("#" + this.id).delegate(".prev", "click", function () {
                    that.prev();
                });
                $("#" + this.id).delegate(".next", "click", function () {
                    that.next();
                });
            }
            , prev: function () {
                $(this.list[this.index]).animate({
                    opacity: 'hide'
                }, 500);
                if (this.index < this.list.length - 1) {
                    this.index++;
                    this.picgo();
                }
                else {
                    this.index = 0;
                    this.picgo();
                }
            }
            , next: function () {
                $(this.list[this.index]).animate({
                    opacity: 'hide'
                }, 500);
                if (this.index > 0) {
                    this.index--;
                    this.picgo();
                }
                else {
                    this.index = this.list.length - 1;
                    this.picgo();
                }
            }
            , picgo: function () {
                $(this.list[this.index]).css({
                    "left": "0px"
                });
                $(this.list[this.index]).animate({
                    opacity: 'show'
                }, 800);
            }
        };
        return {
            ViewPager: ViewPager
        }
    });

    view.js

    require.config({
        paths: {
            "jquery": "js/jquery-1.11.1.min"
            , "viewpager": "js/viewpager"
            , "abstract": "js/abstract"
        }
    });
    require(['jquery', 'viewpager'], function ($, v) {
        new v.ViewPager({
            "id": "viewpager"
            , "isAuto": true
        });
        new v.ViewPager({
            "id": "viewpager1"
        });
    });

    index.html

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="UTF-8">
        <title>Component Learn</title>
        <link rel="stylesheet" href="http://mj-staples.blog.163.com/blog/css/style.css" type="text/css"> </head>
    
    <body>
        <div class="view-main">
            <ul id="viewpager">
                <li class="active"><img src="http://mj-staples.blog.163.com/blog/img/0.jpg" alt="0.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/1.jpg" alt="1.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/2.jpg" alt="2.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/3.jpg" alt="3.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/4.jpg" alt="4.jpg" /></li>
            </ul>
        </div>
        <hr>
        <div class="view-main">
            <ul id="viewpager1">
                <li class="active"><img src="http://mj-staples.blog.163.com/blog/img/0.jpg" alt="0.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/1.jpg" alt="1.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/2.jpg" alt="2.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/3.jpg" alt="3.jpg" /></li>
                <li><img src="http://mj-staples.blog.163.com/blog/img/4.jpg" alt="4.jpg" /></li>
            </ul>
        </div>
        <script type="text/javascript" data-main="view" src="http://mj-staples.blog.163.com/blog/js/require.js"></script>
    </body>
    
    </html>
    Code is read far more than it's written
  • 相关阅读:
    vi使用方法详细介绍
    Jenkins实现Android自动化打包
    JSON知识总结
    React Native中pointerEvent属性
    从零学React Native之06flexbox布局
    Android Http实现文件的上传和下载
    从零学React Native之05混合开发
    React Native声明属性和属性确认
    从零学React Native之04自定义对话框
    Android 在图片的指定位置添加标记
  • 原文地址:https://www.cnblogs.com/ChickenTang/p/5655543.html
Copyright © 2011-2022 走看看