jquery的一种新写法

白和泽
2023-12-01

之前写法都觉得太低端了,不过不否认哈,毕竟javasrcipt都是识别的,习惯罢了。

$(function(){
    var activityClass = {
        init:function() {
            this.build();
            this.clear();
            this.initEvent();
        },
        build:function() {
            this.$modalClass = $('#modal-class');
            this.$modalOrderClass = $('#modal-order-class');
            this.$modalMoveClass = $('#modal-move-class');
            this.$modalSave = $('#modal-save');
            this.$aAddClass = $('#a-add-class');
            this.$modalBox = $('#add-class');
            this.$setOrder = $('.set-order');
            this.$setStatus = $('.set-status');
        },
        initEvent:function() {
            var self = this;
            //添加
            this.$modalSave.on('click', function(e){
                e.stopPropagation();
                e.preventDefault();

                var className = self.$modalClass.val(),
                    classOrder = self.$modalOrderClass.val(),
                    classMove = self.$modalMoveClass.val(),
                    data = '',
                    url = '';

                if (self.check()) {
                    url = '/discover/activity_class.php?action=add';
                    data = "class="+className+"&order_class="+classOrder+"&father_class="+classMove;
                    reloadUrl = '/discover/activity_class.php';
                    self.ajax('POST', url, data, 'jsonp', reloadUrl);
                } else {
                    alert('分类名称不能为空');
                }
            });

            //删除

            //修改

            //查询

            //移动

            //设置排序
            this.$setOrder.on('change', function(e) {
                e.stopPropagation();
                e.preventDefault();

                var id = $(this).data('id');
                    order = $(this).val();

                url = '/discover/activity_class.php?action=set_order';
                data = "id="+id+"&order_class="+order;
                reloadUrl = '/discover/activity_class.php';
                if (id && order) {
                    self.ajax('POST', url, data, 'jsonp', reloadUrl);
                }
            });

            //修改状态
            this.$setStatus.on('click', function(e) {
                e.stopPropagation();
                e.preventDefault();

                var id = $(this).data('id'),
                    status = $(this).data('status');

                url = '/discover/activity_class.php?action=set_status';
                data = "id="+id+"&status="+status;
                reloadUrl = '/discover/activity_class.php';
                self.ajax('POST', url, data, 'jsonp', reloadUrl);
            });
        },
        clear:function () {
            var self = this;
            self.$modalClass.val('');
            self.$modalOrderClass.val('');
            self.$modalMoveClass.val('');
        },
        check:function () {
            var self = this,
                className = self.$modalClass.val();

            if (className) {
               return true; 
            }

            return false;
        },
        ajax:function(type, url, data, dataType, reloadUrl, alert) {
            type = type || 'POST';
            dataType = dataType || 'jsonp';

            if (url) {
                $.ajax({
                    type: type,
                    dataType: dataType,
                    data: data,
                    url: url,
                    success: function (result) {
                        if (alert) {
                            alert(result.msg);
                        }
                        if (reloadUrl) {
                            location.href=reloadUrl;
                        }
                    },
                    error:function() {
                        alert("稍后重试..");
                    }
                });
            }
        },
    };
    activityClass.init();

});
 类似资料: