基本信息
源码名称:js广告弹窗(guideTool)
源码大小:0.09M
文件格式:.rar
开发语言:js
更新时间:2020-03-04
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

/**
 * 中秋节活动引导
 * guideTool_v1.1 based on JQuery by mq_brandon
 * lastest: 2016-9-2 13:52:04
**/

(function( $ ) {    
    var options = {
        cookieName: 'guidemoon', // cookie名字
        cookieTime: 24,        // cookie有效期临界时间点
        duration: 300,         // 动画持续时间
        guideAll: '.guide-all',
        guideBar: '.guide-bar',
        guideBarClose: '.guide-bar-close',
        guideAllClose: '.guide-all-close'
    };

    var guideTool = {};

    // cookie操作
    var cookie = {
        setCookie: function( cookieName, cookieValue, nMilliseconds ) {
               var today = new Date(),
                expire = new Date();

            if( nMilliseconds == null || nMilliseconds == 0 ) {
                nMilliseconds = 1;
            }

            expire.setTime( today.getTime()   nMilliseconds );

            document.cookie = cookieName   "="   escape( cookieValue )   ";expires="   expire.toGMTString();
        },
        getCookie: function( cookieName ) {
            var strCookie = document.cookie,
                arrCookie = strCookie.split( "; " ); 

            for( var i = 0, l = arrCookie.length; i < l; i   ) { 
                var arr = arrCookie[ i ].split( "=" );

                if( arr[ 0 ] == cookieName )  return arr[1];
            }

            return "";
        },
        deleteCookie: function( cookieName ) {
            var date = new Date();

            date.setTime( date.getTime() - 10000 ); 
            document.cookie = cookieName   "=v;expire="   date.toGMTString();
        }
    };

    // 浏览器内核判断
    var browser = {
        versions: function() {
            var u = navigator.userAgent, app = navigator.appVersion;
            return {//移动终端浏览器版本信息
                trident: u.indexOf('Trident') > -1, //IE内核
                presto: u.indexOf('Presto') > -1, //opera内核
                webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
                gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
                mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
                ios: !!u.match(/\(i[^;] ;( U;)? CPU. Mac OS X/), //ios终端
                android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器
                iPad: u.indexOf('iPad') > -1, //是否iPad
                webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
            };
        }()
    };

    // 获取从now开始截止到第time点的毫秒数
    guideTool.getDuration = function( time, now) {
        var old = now.getTime(),
            days = now.getDate(),
            hours = now.getHours(),
            minutes = now.getMinutes(),
            seconds = now.getSeconds(),
            milliSeconds = now.getMilliseconds();

        if ( hours <= time ) {
            now.setHours( time );
            now.setMinutes( 0 );
            now.setSeconds( 0 );
        } else {
            now.setDate( days   1 );
            now.setHours( time );
            now.setMinutes( 0 );
            now.setSeconds( 0 );
        }

        return now.getTime() - old;
    };

    // 事件绑定
    guideTool.eventBind = function() {
        $( options.guideAllClose ).click( function () {
            var now = new Date();
                nMilliseconds = guideTool.getDuration( options.cookieTime, now );

            cookie.setCookie( options.cookieName, options.cookieName   'value', nMilliseconds );

            $( options.guideAll ).slideUp( options.duration );
            $( options.guideBar ).slideDown( options.duration );
        });
        $( options.guideBarClose ).click( function() {
            $( options.guideBar ).slideUp( options.duration );
        });
    };

    // 首次进入时判断是否显示全屏的引导
    guideTool.init = function() {
        var isMobile,
            guideCookie = cookie.getCookie( options.cookieName );

        isMobile = browser.versions.iPhone || browser.versions.android;

        // 如果是移动端则不显示全屏引导和顶部引导
        if ( !isMobile ) {
            guideTool.eventBind();

            if ( guideCookie ) {
                $( options.guideBar ).show();
            } else {
                $( options.guideAll ).show();
            }
        } else {
            $( options.guideAll ).hide();
            $( options.guideBar ).hide();
        }
        
    };

    guideTool.init();
})( jQuery );