实例介绍
【实例简介】
【实例截图】
【核心代码】
/**
* 中秋节活动引导
* 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小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明


网友评论
我要评论