内容只图一乐,拒绝封建迷信。
朋友分享给我一个观音灵签的抽奖页面。
我闲来无聊,就看了一下这个页面的源代码,分析一波+灵光一闪—————好像我也可以搞个这个页面出来!
原理
实不相瞒,本人恰好浅懂一点算命的小技能,叫小六壬。小六壬的算法有很多,我只取其中最简单的一种。(因为其他的不会qwq)。 原理很简单,就是有六个卦象,然后让问卦者随便报出数字,然后与卦象的位置对照…… 简单来讲就是,随机报数字,然后按照数字进行算卦。 (应该是)
JS
一般是随机三个数,让以卜开端,发展,结果。
var Ta = parseInt(Math.random() * 6 + 1)
var Tb = parseInt(Math.random() * 6 + 1)
var Tc = parseInt(Math.random() * 6 + 1)
然后根据数字进行断卦,我的选择是把他们放在数组里。
var jixiangua = ["恭喜你!上上大吉之卦!", "下下之卦,诸事不宜。"]
var jichugua = ["大安", "留连", "速喜", "赤口", "小吉", "空亡"]
var da = ["大安加大安,事事都平安。", "大安加留连,办事不周全,失物西北去,婚姻晚几天。", "大安加速喜,事事自己起,失物当日见,婚姻自己提。", "大安加赤口,办事不顺手,失物不用找,婚姻两分手。", "大安加小吉,事事从已及,失物不出门,婚姻自相成。", "大安加空亡,病人要上床,失物无踪影,事事不顺情。"]
var ll = ["留连加大安,办事两分张,婚姻有喜事,先苦后来甜。", "留连加留连,事事长想粘,我辈当自勉,何需问苍天?", "留连加速喜,事事由自己,婚姻有成意,失物三天还。", "留连加赤口,病者死人口,失物准丢失,婚姻两分手。", "留连加小吉,事事不用提,失物东南去,病者疾去一。", "留连加空亡,病人准死亡,失物不见面,婚姻两分张。"]
var ss = ["速喜加大安,事事都平安,姻姻成全了,占病都相安。", "速喜加留连,婚姻不可言,失物无信息,病人有仙缘。", "速喜加速喜,马上就欢喜,我辈当平心,安然自太平。", "速喜加赤口,自己往外走,失物往正北,婚姻得勤走。", "速喜加小吉,婚姻有人提,病人当天好,失物在家里。", "速喜加空亡,婚姻有分张,病者积极治,失物不久见。"]
var ck = ["赤口加大安, 办事险和难, 失物东北找, 婚姻指定难。 ", "赤口加留连,办事有困难, 行人在外走, 失物不回还。 ", " 赤口加速喜, 婚姻在自己, 失物有着落, 办事官事起。 ", "赤口加赤口,诸祸皆在口,然我当自勉,何需惧苍天?", "赤口加小吉, 办事自己提, 婚姻不能成, 失物无信息。 ", " 赤口加空亡, 无病也上床, 失物不用找, 婚姻不能成。"]
var xj = ["小吉加大安, 事事两周全, 婚姻当日定, 失物自己损。 ", "小吉加留连, 事事有反还, 婚姻有人破, 失物上西南。 ", " 小吉加速喜,事事从头起, 婚姻能成就, 失物在院里。 ", " 小吉加赤口, 办事往外走, 婚姻有难处, 失物丢了手。 ", "小吉加小吉,诸事暂太平,我辈当自勉,自会有太平。", "小吉加空亡, 病人不妥当, 失物正东找, 婚姻再想想。",]
var kw = ["空亡加大安, 事事不周全, 婚姻从和好, 失物反复间。 ", "空亡加留连, 办事处处难, 婚姻重新定, 失物永不还。 ", " 空亡加速喜, 事事怨自己, 婚姻有一定, 失物在家里。", " 空亡加赤口,办事官非有, 婚姻难定准, 失物往远走 ", "空亡加小吉, 事事有猜疑, 婚姻有喜事, 失物回家里。", "空亡加空亡,诸事都凉凉。"]
就,调用呗。(调用数组内的数组这个知识点是一位学长教我的,十分感谢!以及自己尝试写一些东西真的会学到很多)
var shijigua = [];
for (i = 0; i <= 2; i++) {
for (j = 0; j <= 5; j++) {
if (zong[i] == j + 1) {
shijigua.push(jichugua[j]);
break;
}
}
}
while (Ta == Tb == Tc) {
if (Ta = 1) {
console.log(jixiangua[0]);
}
if (Ta = 6) {
console.log(jixiangua[1]);
}
}
var zonggua = [da, ll, ss, ck, xj, kw]
for (q = 0; q <= 5; q++) {
var Tbb = Tb - 1
if (Tbb === q) {
var newzong = zonggua[q][Tc - 1]
break;
}
}
解卦弄完,我又弄了三个盒子
<div id="dingguaA"></div>
<div id="dingguaB"></div>
<div id="dingguaC"></div>
将结果给他放到盒子里去
var shijiguaA = shijigua[0];
var shijiguaB = shijigua[1];
var shijiguaC = shijigua[2];
document.getElementById("dingguaA").innerHTML = shijiguaA;
document.getElementById("dingguaB").innerHTML = shijiguaB;
document.getElementById("dingguaC").innerHTML = shijiguaC;
差不多就,可以了。 对,就这么简单,就是简单小小的整个活
BUT
确实挺好玩的,也确实让我之前的知识点巩固,让我学到了些新东西什么的激励大家继续学下去的话。反正自己多独立写,不懂就问,就查,效果贼棒。
完整源码
//卦象数据导入
var jixiangua = ["恭喜你!上上大吉之卦!", "下下之卦,诸事不宜。"]
var jichugua = ["大安", "留连", "速喜", "赤口", "小吉", "空亡"]
var da = ["大安加大安,事事都平安。", "大安加留连,办事不周全,失物西北去,婚姻晚几天。", "大安加速喜,事事自己起,失物当日见,婚姻自己提。", "大安加赤口,办事不顺手,失物不用找,婚姻两分手。", "大安加小吉,事事从已及,失物不出门,婚姻自相成。", "大安加空亡,病人要上床,失物无踪影,事事不顺情。"]
var ll = ["留连加大安,办事两分张,婚姻有喜事,先苦后来甜。", "留连加留连,事事长想粘,我辈当自勉,何需问苍天?", "留连加速喜,事事由自己,婚姻有成意,失物三天还。", "留连加赤口,病者死人口,失物准丢失,婚姻两分手。", "留连加小吉,事事不用提,失物东南去,病者疾去一。", "留连加空亡,病人准死亡,失物不见面,婚姻两分张。"]
var ss = ["速喜加大安,事事都平安,姻姻成全了,占病都相安。", "速喜加留连,婚姻不可言,失物无信息,病人有仙缘。", "速喜加速喜,马上就欢喜,我辈当平心,安然自太平。", "速喜加赤口,自己往外走,失物往正北,婚姻得勤走。", "速喜加小吉,婚姻有人提,病人当天好,失物在家里。", "速喜加空亡,婚姻有分张,病者积极治,失物不久见。"]
var ck = ["赤口加大安, 办事险和难, 失物东北找, 婚姻指定难。 ", "赤口加留连,办事有困难, 行人在外走, 失物不回还。 ", " 赤口加速喜, 婚姻在自己, 失物有着落, 办事官事起。 ", "赤口加赤口,诸祸皆在口,然我当自勉,何需惧苍天?", "赤口加小吉, 办事自己提, 婚姻不能成, 失物无信息。 ", " 赤口加空亡, 无病也上床, 失物不用找, 婚姻不能成。"]
var xj = ["小吉加大安, 事事两周全, 婚姻当日定, 失物自己损。 ", "小吉加留连, 事事有反还, 婚姻有人破, 失物上西南。 ", " 小吉加速喜,事事从头起, 婚姻能成就, 失物在院里。 ", " 小吉加赤口, 办事往外走, 婚姻有难处, 失物丢了手。 ", "小吉加小吉,诸事暂太平,我辈当自勉,自会有太平。", "小吉加空亡, 病人不妥当, 失物正东找, 婚姻再想想。",]
var kw = ["空亡加大安, 事事不周全, 婚姻从和好, 失物反复间。 ", "空亡加留连, 办事处处难, 婚姻重新定, 失物永不还。 ", " 空亡加速喜, 事事怨自己, 婚姻有一定, 失物在家里。", " 空亡加赤口,办事官非有, 婚姻难定准, 失物往远走 ", "空亡加小吉, 事事有猜疑, 婚姻有喜事, 失物回家里。", "空亡加空亡,诸事都凉凉。"]
$(function () {
$('#suan').on('click', function () {
$("#suan").fadeOut(3000);
setTimeout(
function () {
$("#jieguo").fadeIn(5000);
}, 1000
)
// var Ta = Math.floor(6 * Math.random()) + 1;
// var Tb = Math.floor(6 * Math.random()) + 1;
// var Tc = Math.floor(6 * Math.random()) + 1;
var Ta = parseInt(Math.random() * 6 + 1)
var Tb = parseInt(Math.random() * 6 + 1)
var Tc = parseInt(Math.random() * 6 + 1)
var zong = [Ta, Tb, Tc] //随机生成三个数
// 定卦
var shijigua = [];
for (i = 0; i <= 2; i++) {
for (j = 0; j <= 5; j++) {
if (zong[i] == j + 1) {
shijigua.push(jichugua[j]);
break;
}
}
} //判断基础卦象
var shijiguaA = shijigua[0];
var shijiguaB = shijigua[1];
var shijiguaC = shijigua[2];
document.getElementById("dingguaA").innerHTML = shijiguaA;
document.getElementById("dingguaB").innerHTML = shijiguaB;
document.getElementById("dingguaC").innerHTML = shijiguaC;
setTimeout(
function () {
$("#dingguaA").fadeOut(1);
}, 1
)
setTimeout(
function () {
$("#dingguaB").fadeOut(1);
}, 1
)
setTimeout(
function () {
$("#dingguaC").fadeOut(1);
}, 1
)
setTimeout(
function () {
$("#dingguaA").fadeIn(4000);
}, 5000
)
setTimeout(
function () {
$("#dingguaB").fadeIn(4000);
}, 7000
)
setTimeout(
function () {
$("#dingguaC").fadeIn(4000);
}, 9000
)
setTimeout(
function () {
$("#jieguo").fadeOut(3000);
$("#dingguazong").fadeOut(3000);
}, 11000
)
// 解卦
while (Ta == Tb == Tc) {
if (Ta = 1) {
console.log(jixiangua[0]);
}
if (Ta = 6) {
console.log(jixiangua[1]);
}
}//最好的卦或者最坏的卦
var zonggua = [da, ll, ss, ck, xj, kw]
for (q = 0; q <= 5; q++) {
var Tbb = Tb - 1
if (Tbb === q) {
var newzong = zonggua[q][Tc - 1]
break;
}
}//其他卦
// console.log(newzong);
setTimeout(
function () {
$("#chengyan").fadeIn(3000);
}, 15000
)
document.getElementById("chengy").innerHTML = newzong;
setTimeout(
function () {
$("#chengy").fadeIn(5000);
}, 18000
)
})
})
图一乐呀图一乐。