zoukankan      html  css  js  c++  java
  • js

    专题地址:
    http://product.kimiss.com/topic/Lancome_GrandioseH5.html
      
    js:
    http://wwwcdn.kimiss.net/public/topic/lancome/js/grandiose_h5.js

    借鉴之处:

    1. 图片全部加载完,再进入专题

    2. 变量封装

    var APP = {
        init: function(args) {
            this.dTips = $('.tips');
            this.dWapper = $('.bob_main');
            this.dSubPages = $('.m-page');
    
            this.page = 1;
    
            this.video = document.getElementById("index_video");
            this.showForm = args.showForm;// 直接显示申请框
    
            this._bind();
            this._check_screen_size();
    
            this._PreLoadImg([
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a1_1.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a1_2.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a2_1.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a2_2.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a3_2.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a4_2.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a5_1.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/a5_2.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_1.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_2.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_3.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_play.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_skip.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/v_logo.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_down.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_1.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_2.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_3.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_4.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_5.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_1.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_2.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_3.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c3_1.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c3_2.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_apply_btn.png',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p1_bg.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c1_bg.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c2_bg.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/p2_c3_bg.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/form_bg.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/suc_bg.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/apply_flow_bg.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/tip-img.jpg',
                'http://wwwcdn.kimiss.net/public/topic//lancome/img/grandiose_h5/close.png'
            ], function() {
                $('#spinnerLoad').html('100%');
                $('img').each(function() {
                    var _src = $(this).attr('data-src');
                    if (_src) {
                        $(this).attr('src', _src);
                    }
                });
                $('.loading').remove();
                if(APP.showForm) {
                    $('.animation').hide();
                    APP.dWapper.show();
                    $('#apppart1').hide();
                    $('#apppart2').show();
                    $('.apply_btn').click();
                } else {
                    APP._show_animation();
                }            
            });
        },
        _PreLoadImg: function(b, e) {
            var c = 0, a = {}, d = b.length;
            for (src in b) {
                a[src] = new Image();
                a[src].onload = function() {
                    ++c;
                    $('#spinnerLoad').html(parseInt(c * 100 / d, 10) + '%');
                    if (c >= d) {
                        e(a);
                    }
                };
                a[src].src = b[src];
            }
        },
        _show_animation: function() {
            $('.animation').show();
    
            this.animate_page = 0;
            this._show_animation_page();
        },
        _show_animation_page: function() {
            $('.a' + this.animate_page).fadeOut();
            this.animate_page += 1;
            $('.a' + this.animate_page).fadeIn();
            if (this.animate_page == 6) {
                $('.animation').hide();
                APP.dWapper.show();
                $('#apppart1').show();
            } else {
                if (this.animate_page == 5) {
                    $('.a5_2').css({
                        'left': '-200px'
                    });
                    $('.a5_3').css({
                        'bottom': '-400px',
                    });
                    $('.a5_4').css({
                        'bottom': '-320px',
                        'left': '-320px'
                    });
                    var is = $('.a5 i');
                    is.css({'opacity': 0});
                    setTimeout(function() {
                        $('.a5_2').animate({
                            'left': 0
                        });
                    }, 200);
                    setTimeout(function() {
                        $('.a5_3').animate({
                            'bottom': 0
                        });
                    }, 600);
                    setTimeout(function() {
                        $('.a5_4').animate({
                            'bottom': 0,
                            'left': 0
                        });
                    }, 1000);
                    setTimeout(function() {
                        is.eq(0).animate({
                            'opacity': 1
                        });
                    }, 1200);
                    setTimeout(function() {
                        is.eq(1).animate({
                            'opacity': 1
                        });
                    }, 1400);
                    setTimeout(function() {
                        is.eq(2).animate({
                            'opacity': 1
                        });
                    }, 1600);
                    setTimeout(function() {
                        is.eq(3).animate({
                            'opacity': 1
                        });
                    }, 1800);
                    setTimeout(function() {
                        is.eq(4).animate({
                            'opacity': 1
                        });
                    }, 2000);
                    setTimeout(function() {
                        is.eq(5).animate({
                            'opacity': 1
                        });
                    }, 2200);
                    setTimeout(function() {
                        APP._show_animation_page();
                    }, 3000);
                } else {
                    setTimeout(function() {
                        APP._show_animation_page();
                    }, 1000);
                }
            }
        },
        _bind: function() {
            var self = this;
    
            $(window).resize(function() {
                self._check_screen_size();
            });
    
            $(window).on('orientationchange', function(event) {
                self.dTips.hide();
                self.dWapper.hide();
                self._check_screen_size();
                if (window.orientation == 0) {
                    self.dWapper.show();
                } else {
                    self.dTips.show();
                }
            });
    
            //点击首页视频播放
            $("#show_video_full").click(function() {
                $(".index_video").show();
                self.video.play();
            });
    
            this.video.addEventListener("ended", function() {
                APP._show_content();
                $.cookie('Application', 1, {expires: 7});
            }, false);
    
            //关闭首页视频层
            $(".i_close").on('mousedown touchstart', function(e) {
                $(".index_video").fadeOut();
                self.video.pause();
            });
    
            //首页跳过切换
            $(".skip").click(function() {
                $(".p1_2").addClass("fadeOutUp");
                $(".p1_3").addClass("fadeOutDown");
                $(".p1_play").addClass("fadeOut");
                $(".skip").addClass("fadeOut");
                setTimeout(function() {
                    $(".p1_1").addClass("fadeOutDown");
                }, 1100);
                setTimeout(function() {
                    APP._show_content();
                }, 2000);
            });
    
           
    
            $('.c_flow_ok').click(function() {
                $('#c_apply_flow').fadeOut();
            });
    
           
            //省市联动
            $('#province_select').live('change', function() {
                if ($('#province_select').val()) {
                    var hideid = 'city_' + $(this).val();
                    var ncity = $('#' + hideid).html();
                    $('#city_select').html(ncity);
                }
    
            });
    
            var tempVar = "您已提交过申请,通过后会第一时间通知您~~"
            $('.submit_btn').live('click', function() {
    
                if (!isApply) {
                    var tryId = $('#tryId').val();//试用ID
                    var productids = $('#productids').val();
                    var pubnametime = $('#pubnametime').val();
                    var name = $.trim($('#name').val());
                    var province = $('#province_select').val();
                    var city = $('#city_select').val();
                    var address = $('#address').val();
                    var phone = $.trim($('#phone').val());
                    var sex = $('option[name=sex]:checked').val();
                    var age = $('#Ymd').val();
                    var fuzhi = $.trim($('#fuzhi_select').val());
                    var xiaofei = $.trim($('#xiaofei_select').val());
                    var content = '兰蔻“天鹅颈”睫毛膏 我想要~!'; //申请感言
    
                    //验证出生日期是否正确
                    var YmdStr = age.split('-');
                    var _subY = $.trim(YmdStr[0]);
                    var _subM = $.trim(YmdStr[1]);
                    var _subD = $.trim(YmdStr[2]);
                    //获取当下年份
                    var mydate = new Date();
                    var _nowYear = mydate.getFullYear(); //获取完整的年份(4位)
    
                    if (name === '*请输入姓名' || !name) {
                        alert('姓名不能为空!');
                        return false;
                    }
                    if (!sex || sex === '*选择性别') {
                        alert('请选择性别!');
                        return false;
                    }
                    if (!_subY || _subY < 1960 || _subY > _nowYear || !_subM || !_subD) {
                        alert('请填写正确的生日');
                        return false;
                    }
                    if (phone === '*请输入电话' || !phone) {
                        alert('手机号不能为空!');
                        return false;
                    } else {
                        reg = /^1([0-9]{10})?$/;
                        if (!reg.test(phone)) {
                            alert('请输入正确的手机号!');
                            return false;
                        }
                    }
                    if (!province || province === '*选择省份') {
                        alert('省份不能为空!');
                        return false;
                    } else {
                        if (!city || city === '*选择城市' || city === '*选择市区') {
                            alert('城市不能为空!');
                            return false;
                        }
                    }
                    if (!address || address === '*请输入详细地址') {
                        alert('详细地址不能为空!');
                        return false;
                    }
                    isApply = 1;
                } else {
                    alert(tempVar);
                    return false;
                }
    
                //ls
                //        $("#c_form_submit").slideUp();
                //        $('#c_form_tips').show();
                //        return false;
                //ls
    
                $.post("/index.php?c=Newtry_Detail&a=Post", {
                    tryId: tryId,
                    productids: productids,
                    pubnametime: pubnametime,
                    name: name,
                    province: province,
                    city: city,
                    address: address,
                    phone: phone,
                    sex: sex,
                    age: age,
                    fuzhi: fuzhi,
                    xiaofei: xiaofei,
                    content: content,
                }, function(result) {
                    if (result == 2) {
                        alert('您已提交过申请,通过后会第一时间通知您~~');
                        return false;
                    } else if (result == 3) {
                        alert('请完整填写地址信息');
                        return false;
                    } else {
                        $("#c_form_submit").slideUp();
                        $('#c_form_tips').show();
                        return false;
                    }
                });
    
            });
    
    
            //点击提交申请成功提示确定按钮
            $(".c_tips_sure").click(function() {
                $("#c_form_tips").slideUp();
                self.page = 1;
                APP._show_content();
            });
    
    
            var initP = null
                    , moveP = null
                    , mousedown = null;
            this.dSubPages.on('mousedown touchstart', function(e) {
                if (self.moving) {
                    return;
                }
                if (e.type == "touchstart") {
                    initP = window.event.touches[0].pageY;
                } else {
                    initP = e.y || e.pageY;
                    mousedown = true;
                }
    
                self.dSubPages.on('mousemove touchmove', function(e) {
                    e.preventDefault();
                    e.stopPropagation();
                    if (initP && !self.moving) {
                        if (e.type == "touchmove") {
                            moveP = window.event.touches[0].pageY;
                        } else {
                            if (mousedown)
                                moveP = e.y || e.pageY;
                        }
                    }
                });
                self.dSubPages.on('mouseup touchend mouseout', function() {
                    if (moveP && Math.abs(moveP - initP) > 20) {
                        if (moveP > initP) {
                            if (self.page != 1) {
                                self.moving = true;
                                initP = null;
                                moveP = null;
                                self._show_page(self.page - 1);
                            }
                        } else {
                            if (self.page != 3) {
                                self.moving = true;
                                initP = null;
                                moveP = null;
                                self._show_page(self.page + 1);
                            }
                        }
                    }
    
                    if (!self.moving) {
                        initP = null;
                        moveP = null;
                    }
    
                    self.dSubPages.off('mousemove touchmove');
                    self.dSubPages.off('mouseup touchend mouseout');
                });
            });
        },
        _show_content: function() {
            $('#apppart1').hide();
            $('#apppart2').fadeIn();
            $('.page2').css('top', 0).show();
            this.dSubPages.show();
            this._show_page(1);
        },
        _show_page: function(page) {
            this.page = page;
            switch (APP.page) {
                case 1:
                    $('.p2_c1_1').addClass('hide').removeClass('fadeInUp');
                    $('.p2_c1_2').addClass('hide').removeClass('fadeInDown');
                    $('.p2_c1_3').addClass('hide').removeClass('fadeInDown');
                    $('.p2_c1_4').addClass('hide').removeClass('fadeIn');
                    $('.p2_c1_5').addClass('hide').removeClass('fadeIn');
                    $('.p2_c1_apply_btn').addClass('hide').removeClass('fadeIn');
                    break;
                case 2:
                    $('.p2_c2_1').addClass('hide').removeClass('fadeInUp');
                    $('.p2_c2_2').addClass('hide').removeClass('fadeInDown');
                    $('.p2_c2_3').addClass('hide').removeClass('fadeIn');
                    $('.p2_c2_apply_btn').addClass('hide').removeClass('fadeIn');
                    break;
                case 3:
                    $('.p2_c3_1').addClass('hide').removeClass('fadeInUp');
                    $('.p2_c3_2').addClass('hide').removeClass('fadeIn');
                    $('.p2_c3_3').addClass('hide').removeClass('fadeInDown');
                    $('.p2_c3_apply_btn').addClass('hide').removeClass('fadeIn');
                    break;
            }
            $('.apply_btn').removeClass('animated pulse infinite');
            $('.page2').animate({'top': -APP.sc_h * (page - 1) + 'px'}, function() {
                APP.moving = false;
                switch (APP.page) {
                    case 1:
                        $('.p2_c1_1').removeClass('hide').addClass('fadeInUp');
                        $('.p2_c1_2').removeClass('hide').addClass('fadeInDown');
                        $('.p2_c1_3').removeClass('hide').addClass('fadeInDown');
                        $('.p2_c1_4').removeClass('hide').addClass('fadeIn');
                        $('.p2_c1_5').removeClass('hide').addClass('fadeIn');
                        $('.p2_c1_apply_btn').removeClass('hide').addClass('fadeIn');
                        break;
                    case 2:
                        $('.p2_c2_1').removeClass('hide').addClass('fadeInUp');
                        $('.p2_c2_2').removeClass('hide').addClass('fadeInDown');
                        $('.p2_c2_3').removeClass('hide').addClass('fadeIn');
                        $('.p2_c2_apply_btn').removeClass('hide').addClass('fadeIn');
                        break;
                    case 3:
                        $('.p2_c3_1').removeClass('hide').addClass('fadeInUp');
                        $('.p2_c3_2').removeClass('hide').addClass('fadeIn');
                        $('.p2_c3_3').removeClass('hide').addClass('fadeInDown');
                        $('.p2_c3_apply_btn').removeClass('hide').addClass('fadeIn');
                        break;
                }
                setTimeout(function() {
                    $('.apply_btn').addClass('animated pulse infinite');
                }, 2000);
                APP._animate_down();
            });
        },
        _animate_down: function() {
            clearTimeout(APP.timer);
            clearTimeout(APP.fn_timer);
            if (this.page == 3) {
                return;
            }
            APP.timer = setTimeout(function() {
                APP._animate_down_fn();
            }, 2600);
            $('.p2_down').stop().css({'opacity': 0});
        },
        _animate_down_fn: function() {
            var _bot = 20 - APP.sc_h * (APP.page - 1);
            if (APP.page == 3) {
                return;
            }
            $('.p2_down').css({
                'bottom': _bot + 'px',
                'opacity': 1
            }).animate({
                'bottom': _bot - 10 + 'px',
                'opacity': 0
            }, 1200, function() {
                clearTimeout(APP.fn_timer);
                APP.fn_timer = setTimeout(function() {
                    APP._animate_down_fn();
                }, 1000);
            });
        },
        _check_screen_size: function() {
            if (document.compatMode == "BackCompat") {
                var Node = document.body;
            } else {
                var Node = document.documentElement;
            }
            var page_w = Math.max(Node.scrollWidth, Node.clientWidth),
                    page_h = Math.max(Node.scrollHeight, Node.clientHeight);
    
            this.sc_w = page_w;
            this.sc_h = page_h;
    
            this.dTips.css({
                'width': this.sc_w + 'px',
                'height': this.sc_h + 'px'
            });
    
            this.dSubPages.css({
                'width': this.sc_w + 'px',
                'height': this.sc_h + 'px'
            });
            if(this.sc_h <= 480){
                $('.a1 img, .a2 img, .a3 img, .a4 img, .page2 p').css({
                    'left' : '22px',
                    'width' : '85%'
                });
                $('.page2 table').css({
                    'top' : '4%',
                    'line-height' : '26px',
                    'font-size' : '16px'
                });
            }
        }
    };
    
    $(document).ready(function() {
    
        
        var args = {};
        //referer 回来的请求直接打开申请页面
        var isStr = document.URL.split('?')[1];
        if (isStr) {
            var ReStr = isStr.split('=');
            if (ReStr[0] === 'isReferer' && ReStr[1] === 'yes') {
                args.showForm = 1;
            }
        }
        
        APP.init(args);
    
    });
  • 相关阅读:
    Mysql主从同步延迟问题及解决方案
    elasticsearch 查询过程
    RPC(Remote Procedure Call):远程过程调用
    windows
    设计模式
    Linux Safe
    AS
    开机启动
    springboot打包部署
    【Linux】Linux 常用命令汇总
  • 原文地址:https://www.cnblogs.com/bandbandme/p/4786655.html
Copyright © 2011-2022 走看看