实例介绍
【实例简介】
【实例截图】
【核心代码】
/** * 中秋节活动引导 * 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 );
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论