也曾年轻《今日芒种 --- 古诗里的芒种》
<style>#container {width:640px;min-height:400px;text-align:center;margin:auto;background-color:hsl(60, 30%, 80%);
overflow:hidden;border-top-left-radius:24px;border-top-right-radius:24px;font-size:20px;box-shadow:4px 4px 10px black;}
#container img {width:100%;}
#container span {display:block;margin-bottom:6px;}
#container p {text-align:left;text-indent:2em; font-weight:600;margin:12px;}
#container span:nth-of-type(1) {font-size:1.25em;color:brown;}
#container span:nth-of-type(2) {font-size:0.8em;color:gray;}
#ctrlBox {width:640px;margin:16px auto;text-align:center;font-size:2em;color:skyblue;}
#ctrlBox button {cursor:pointer;}
#selIdx {width:32px;text-align:right;border:thin gray dotted;}
</style>
<div id="container"></div>
<div id="ctrlBox">
<button id="backward">⇦ 上一首</button> <input id='selIdx' min='1' value=''/> <button id="forward">下一首 ⇨</button></div>
</div>
<script>
const pics = [
"https://copyright.bdstatic.com/vcg/creative/bc247511954f678482b6ad213f8f2a40.jpg",
"https://mmbiz.qpic.cn/sz_mmbiz_jpg/RKBUapibjBkqwuX6DFUiaNQxgyXW8VksP5ltkRlH9ia7J5rJXf0QeQGwZB09iaUicNrrsyiaLZnRgfpohWjZbZDOetrONtoAgjQJ3t2gFoCfHIqWM/640?wx_fmt=jpeg&watermark=1#imgIndex=14",
"https://mmbiz.qpic.cn/sz_mmbiz_jpg/RKBUapibjBkqICibSsQk5wOFrakaNBRpfEucu5GFmKRIEeOlzBJvC1kpeSred5q3SicUyPOoo8DQh6uNT4aQgibvvcrdWge5ukzSt3q5AC8Oa2Y/640?wx_fmt=jpeg&watermark=1#imgIndex=15",
"https://mmbiz.qpic.cn/sz_mmbiz_jpg/RKBUapibjBkqdbrOiakqZkibKoaYpeFXflKibNzdrkKuRuDTS4h1U7ukfmGyY4cMzHnrmEUNz4y0iawCtPv9gKoKo4sbsdJx4WRzs60HWUBKnRBg/640?wx_fmt=jpeg&watermark=1#imgIndex=16",
"https://mmbiz.qpic.cn/mmbiz_jpg/RKBUapibjBkrHbXOQOa1ibLeHicxUicWBvbuy6UCHcuar8vAUOsSnML8XeBn0oEmX5owstwjlF6nZ2MdOZ4rFw1gQiaErmSDMLW3QpzmwkzHkiaec/640?wx_fmt=jpeg&watermark=1#imgIndex=17",
];
// https://mp.weixin.qq.com/s/AmXoQWfxCQG1RO_E222cEw
const tab = `  `;
const poems = [
[`《咏廿四气诗·芒种五月节》`,
`唐·元稹`,
`芒种看今日,螳螂应节生。`,
`彤云高下影,鴳鸟往来声。`,
`渌沼莲花放,炎风暑雨晴。`,
`相逢问蚕麦,幸得称人情。`,
`芒种节气就在今日,螳螂感应时节破壳而生。红霞映照出高低错落的云影,鹌鹑类小鸟往来啼鸣不断。碧绿池塘中莲花悄然绽放,热风伴着骤雨后又转晴。路上相逢总要问问蚕丝与麦收,幸而今年收成还能慰藉人心。`],
[`《芒种后积雨骤冷三绝·其二》`,`宋·范成大`,
`梅黄时节怯衣单,五月江吴麦秀寒。`,
`香篆吐云生暖热,从教窗外雨漫漫。`,
`梅子黄熟的时节,却因衣衫单薄而感到寒意,五月江南的麦子抽穗时,天气竟也如此清冷。点燃盘香,看烟云袅袅生出暖意,任凭窗外的雨水无尽无休地洒落。`],
[`《芒种·其一》`,`宋·韩淲`,
`田家一雨插秧时,成把担禾水拍泥。`,
`分段排行到畦岸,背蓬浑不管归迟。`,
`农家趁着这一场好雨,赶忙插秧,成把的秧苗担在肩上,田水拍打着泥浆。分段排行,一直插到田埂岸边,背着遮雨的篷具,全然不顾归家已晚。`],
[`《寓武昌郡寄真定刘晋川先生·其二》`,`明·李贽`,
`芒种在今朝,君行岂不遥。`,
`农夫欢倒极,雨立迓星轺。`,
`芒种节气就在今天早晨,您的行程怎能说不遥远。农夫们欢喜到了极点,竟冒雨站立迎接您华美的车驾。`],
[`《梅雨五绝·其二》`,`宋·范成大`,
`乙酉甲申雷雨惊,乘除却贺芒种晴。`,
`插秧先插蚤籼稻,少忍数旬蒸米成。`,
`乙酉、甲申日接连的雷雨令人心惊,但晴雨相抵,终可喜贺芒种逢晴。插秧要先插早籼稻,只需忍耐几十天,蒸煮米饭便可成。`],
];
const synth = window.speechSynthesis
var poemIdx = 0;
var utterance = null;
var timeoutID = null;
const pStart = 2, eStart = [-2, -1];
selIdx.max = poems.length;
selIdx.title = `选择有效值:1 到 ${poems.length}`;
function recitationPoem(idx, pIdx) {
if(typeof synth === 'undefined') {
backward.disabled = false;
forward.disabled = false;
selIdx.disabled = false;
timeoutID = setTimeout(function(){
forward.click();
}, 30000);
}
else {
if(pIdx < poems.length - 3) {
utterance = new SpeechSynthesisUtterance(poems);
utterance.lang = 'zh-CN'; // 设置语言为中文
utterance.rate = 1; // 设置语速
utterance.pitch = 1; // 设置音调
synth.speak(utterance); // 播放语音
}
utterance.onend = () => {
if(pIdx < poems.length - 4) {
recitationPoem(idx,++pIdx)
}
else {
synth.cancel();
backward.disabled = false;
forward.disabled = false;
selIdx.disabled = false;
timeoutID = setTimeout(function(){
forward.click();
}, 5000);
}
};
}
}
function showPoem(idx) {
if(timeoutID) clearTimeout(timeoutID);
selIdx.value = idx + 1;
while (container.firstChild) {
container.removeChild(container.firstChild);
}
backward.disabled = true;
forward.disabled = true;
selIdx.disabled = true;
let imgObj = document.createElement('img');
imgObj.src = pics;
container.appendChild(imgObj);
for(sIdx = 0; sIdx < poems.length - 1; sIdx++) {
let sObj = document.createElement('span');
sObj.innerHTML = poems;
if(sIdx > 1 ) sObj.style.cssText = `font-size:1.3em;color:red;font-family:楷体;`;
//else if(sIdx == poems.length - 2) sObj.style.cssText = 'text-align:left; margin-left:1em;';
container.appendChild(sObj);
}
let pObj = document.createElement('p');
pObj.innerHTML = poems.length - 1];
container.appendChild(pObj);
recitationPoem(idx,0);
}
backward.onclick = () => {
poemIdx--; if(poemIdx < 0) poemIdx = poems.length - 1;
showPoem(poemIdx);
}
forward.onclick = () => {
poemIdx++; poemIdx %= poems.length;
showPoem(poemIdx);
}
const vMin = parseInt(selIdx.min);
const vMax = parseInt(selIdx.max);
selIdx.onchange = () => {
if(parseInt(selIdx.value) < vMin) selIdx.value = vMin;
if(parseInt(selIdx.value) > vMax) selIdx.value = vMax;
poemIdx = parseInt(selIdx.value) - 1;
showPoem(poemIdx);
}
showPoem(poemIdx);
</script> 有声有色,谢谢友友分享 klxf 发表于 2026-6-6 12:31
有声有色,谢谢友友分享
这个你也可以制作的! 醉美水芙蓉 发表于 2026-6-6 21:51
这个你也可以制作的!
是,欣赏学习了
页:
[1]