也曾年轻 发表于 2025-12-17 14:57

连环画 --- 三国演义(21-40)

本帖最后由 也曾年轻 于 2025-12-17 14:50 编辑 <br /><br /><meta charset="utf-8">
<meta name="referrer" content="never" />
<style type="text/css">
:root        {--w:800px; --h:600px;}
#oBlk        {
        width:940px;height:960px;
        background-image: url(https://z3.ax1x.com/2021/09/16/4nMjJA.gif);
        display: grid;
        place-items:center;position:relative;
        grid-template-rows: 770px 170px;
        grid-template-columns:100%;
        box-shadow:3px 3px 8px darkgray;
        overflow:hidden;border-radius:24px;
        font-size:12px;padding:10px;
        margin:80px auto 40px calc(50% - 551px);
}
#cataFrame        {width:880px;height:170px;border:6px white groove;overflow:hidden;border-radius:24px;position:relative;}
/***************************************************************************************************/
#imgHold img        {width:var(--w);height:var(--h); position:absolute;top:0px;}
#imgHold        {height:var(--h);position:absolute;left:0px;}
#storyBookBlk        {
        width:var(--w);
        height:var(--h);
        overflow:hidden;
        border-radius:24px;
        box-shadow:4px 4px 10px black;
        position:relative;
}       
#targetD        {width:880px;height:720px;border:6px white groove;place-items:center;overflow:hidden;border-radius:24px;}
#gName        {font:bold 2.5em 隶书;color:brown;margin:12px;}
#pichold        {height:160px;position:absolute;left:0px;top:0px;margin-top:5px;animation: mleft 40.8s linear infinite paused;}
#pichold img        {width:200px;height:160px;margin-right:4px;cursor:pointer;float:left;}
#pichold:hover        {animation-play-state: running;}
@keyframes        mleft        {to {left:-4080px;}}
</style>
<div id="oBlk">
        <div id="targetD">
                <div id="gName">《连城》</div>
                <div id="storyBookBlk">
                        <div id="imgHold">
                        <!--

                        -->
                        </div>
                </div>
        </div>
        <div id="cataFrame"><div id="pichold"></div></div>
</div>
<script>
let hVal = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--w'));

var sf1 = document.createElement('script');
sf1.type = 'text/javascript';
sf1.src = "https://cccimg.com/down.php/0596bdeb1899f4618bec6a3ecea9234d.js";
//sf1.src = "./三国演义(中)pic.js";
sf1.charset = "utf-8";
document.body.appendChild(sf1);
sf1.onload = () => {
gName.innerHTML = gsName;
imgs.forEach((pic,idx) => {
        let imgObj = document.createElement('img');
        imgObj.src = pic; imgObj.alt = '';
        imgObj.dataset.idx = idx % gsName.length;
        pichold.appendChild(imgObj);
});
let imgObj = pichold.querySelector('img');
let imgObjWidth = imgObj.clientWidth + parseInt(getComputedStyle(imgObj).marginLeft) + parseInt(getComputedStyle(imgObj).marginRight);

pichold.style.width = imgs.length *imgObjWidth + 'px';
//        点击封面图片的动作
pichold.querySelectorAll('img').forEach( imgObj => {
        imgObj.onclick = () => {
                let selIdx = imgObj.dataset.idx;
                gName.innerHTML = gsName;
                loadStory(selIdx);
        }
});
        let loadStory = (idx) =>        {
                imgHold.innerHTML = '';
                imgHold.style.left = '0px';
                imgHold.style.width = pics.length * hVal + 'px';;
                pics.forEach((pic, idx) => {
                        let imgObj = document.createElement('img');
                        imgObj.src = pic;pic.alt='';
                        imgObj.style.left = hVal * idx + 'px';
                        imgHold.appendChild(imgObj);
                });
                       
                let numPic = imgHold.querySelectorAll('img');

                imgHold.onmousedown = (ev) => {
                        let styleLeft = parseInt(imgHold.style.left);
                        let sbOffsetWidth = parseInt(storyBookBlk.offsetWidth);
                        let imgOffsetLeft = parseInt(imgHold.offsetLeft);
                        if(ev.button === 0)        {
                                if(styleLeft > ((1 - numPic.length) * sbOffsetWidth))        imgHold.style.left = (imgOffsetLeft -= sbOffsetWidth) + 'px';
                                else imgHold.style.left = '0px';
                        }
                        else if(ev.button === 2)        {
                                if(imgOffsetLeft === 0)imgHold.style.left = (1 - numPic.length) * sbOffsetWidth + 'px';
                                else imgHold.style.left = (imgOffsetLeft += sbOffsetWidth) + 'px';
                        }

                }
               
                oBlk.addEventListener('contextmenu', function(event) {
                        event.preventDefault();
                });
        }
        loadStory(0);
}
</script>

三国演义(1-20)
三国演义(41-61)

梦江南 发表于 2025-12-17 15:04

欣赏老师的巨作《三国演义(21-40)》辛苦了。{:4_187:}

梦江南 发表于 2025-12-17 15:09

闲时可以看小书来了。有地方去了哈。{:4_189:}

也曾年轻 发表于 2025-12-17 15:24

梦江南 发表于 2025-12-17 15:04
欣赏老师的巨作《三国演义(21-40)》辛苦了。

谢谢欣赏支持

也曾年轻 发表于 2025-12-17 15:25

梦江南 发表于 2025-12-17 15:09
闲时可以看小书来了。有地方去了哈。

还可以看您做的美帖{:5_117:}

梦江南 发表于 2025-12-17 15:34

也曾年轻 发表于 2025-12-17 15:25
还可以看您做的美帖

是啊,欢迎哦!{:4_170:}

也曾年轻 发表于 2025-12-17 15:59

梦江南 发表于 2025-12-17 15:34
是啊,欢迎哦!

期待………………

红影 发表于 2025-12-17 18:42

又是精神大餐,这么多的小人书,太好了{:4_187:}

杨帆 发表于 2025-12-17 18:45

年度钜献,谢谢也曾年轻老师经典分享{:4_180:}

红影 发表于 2025-12-17 18:58

看看三国风云,真是风起云涌的时代啊。

也曾年轻 发表于 2025-12-17 19:20

红影 发表于 2025-12-17 18:42
又是精神大餐,这么多的小人书,太好了

慢慢看不占地{:5_106:}

也曾年轻 发表于 2025-12-17 19:21

红影 发表于 2025-12-17 18:58
看看三国风云,真是风起云涌的时代啊。

这是高中新课标推荐书籍

也曾年轻 发表于 2025-12-17 19:22

杨帆 发表于 2025-12-17 18:45
年度钜献,谢谢也曾年轻老师经典分享

谢谢!{:5_108:}

小辣椒 发表于 2025-12-17 22:05

这个制作一般人没有这个耐心吧,起码小辣椒就感觉这个工程太浩大了

小辣椒 发表于 2025-12-17 22:08

佩服老师的耐心和代码功底,这个并不是像老师所说就复制粘贴这么容易,我最前面那个仔细看了代码的,还得各代码之间的衔接

向前辈老师学习!

也曾年轻 发表于 2025-12-18 08:34

小辣椒 发表于 2025-12-17 22:05
这个制作一般人没有这个耐心吧,起码小辣椒就感觉这个工程太浩大了

三个帖子断断续续也就用了大约半天时间,并没有想象的那么量大。
页: [1]
查看完整版本: 连环画 --- 三国演义(21-40)