-
-
Notifications
You must be signed in to change notification settings - Fork 47
js common.js的解释
Orangii edited this page Jul 2, 2021
·
1 revision
本来这个js是用来把各个页面通用的js写到一起,结果现在写的挺乱的,在这里解释一下。
common.js 在页面底部被引用。
- 加载动画中摇晃手机中的彩蛋
页面加载中会导入
/js/loader.js
文件,这是一个接收摇晃手机并产生对应事件的文件。自第十五行起即为摇晃事件需要执行的代码,其他为判断是否摇晃设备代码。 原理可以查看基于html5重力感应DeviceMotionEvent事件监听手机摇晃,其产生的样式可以对比Loading Animation Ⅲ。如果想修改灵敏值,可以修改文件中ShakeThreshold值。
目前并不是所有浏览器都支持摇晃操作,详见CanIUse.
- 页面加载完成后的动作
在页面加载完成后会执行每个页面里都写了的
loaded()
函数
//when page loaded we should do something
window.addEventListener("load",function(){loaded()});
- 获取请求参数
虽然是纯静态页面,但是有些功能还是需要类似PHP中的
$_GET
的
//get $_GET
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){
if(pair[1]) return pair[1];
else return true;
}
}
return(false);
}
- 页面跳转
toIndex()
用来跳转至传入的from参数中的链接地址;todonate()
只是单纯的跳转至赞赏页面。
//using in pay/donate page to turn back to index
function toIndex(){
mainsec.rotateCard(90,0.5,"Y");
setTimeout(function(){window.location.href=mainsec.fromurl},450)
}
//using in index to direct to donate page
function todonate(){
var u = "index.html"+(getQueryVariable("page")?"?page="+getQueryVariable("page"):"");
u = encodeURIComponent(u);
mainsec.rotateCard(90,0.5,"Y");
setTimeout(function(){window.location.href="donate.html?from="+u},450)
}
- 获取上一页面地址(从from参数中) 用来确定往返回时返回到哪
//self run function to show the back button
(function(){
if(getQueryVariable("from")){
mainsec.backButton = 1
mainsec.fromurl=decodeURIComponent(getQueryVariable("from"))
}
})();
- 在首页中自动展示联系方式(我也不知道为什么写在这了) 详情查看 index.html>其他小东西