仿小说APP滑动翻页效果实现
这段代码是一个使用CSS3实现的左右滑动翻页效果,主要利用了`transform: translateX(0px)`和`transform: translateX(125px)`两个属性来实现左右滑动的效果。具体来说,当页面滚动到左边时,`transform`属性设置为`translateX(0px)`,使左边的内容显示出来;当页面滚动到右边时,`transform`属性设置为`translateX(125px)`,使右边的内容显示出来。需要注意的是,这个效果需要在支持CSS3的浏览器中才能正常显示,例如Chrome、Firefox等。同时,由于使用了JavaScript控制滚动条的位置,所以在实际使用时可能需要配合其他代码来实现具体的功能。

被隔离在家研究了小说APP的左右滑动翻页效果,找了好多资料也没发现有能直接使用的东西,主要涉及到文本分页到问题,还好是弄出来了 直接上代码吧,比较简单的实现效果,附送一个参考资料.

参考资料网站-CSS3 column多栏布局实现水平滑页翻页交互

效果如下: 屏幕录制20200311上午1.16.24.gif

代码如下:


<!DOCTYPE html>
<html>
<head>
    <title>滑动翻页</title>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=3, minimum-scale=1, user-scalable=no"> 
</head>
<style type="text/css">
    *{
        padding: 0;
        margin: 0;
        text-decoration: none;
        user-select: none;
    }
    #box {
        width: 400px;
        overflow: hidden;
    }
    #inner {
        font-size: 20px;
        height: 700px;
        width: 400px;
        column-width: 400px;
    }

    #lc {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        width: 30%;
        height: 100%;
    
    }
    #rc {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 10;
        width: 30%;
        height: 100%;
    
    }
</style>
<body>
    <div id="box">

        <div id="inner" style="transform:translateX(0px)">
            <p>
                云端城的天空一片灰暗,断断续续地飘落着细雨。

            城中法师学院的玩家出生点附近,两个npc商人被围得水泄不通,这两个家伙,一个是专卖扫帚,一个专营黑框眼镜。《哈利波特》对于魔法这个陈旧主题的推动作用,连最新的全息网游大作“平行世界”也未能免俗。

            这两个npc,借着《哈利波特》标准造型,将新生的玩家狠狠地宰了两刀。要知道,新生的玩家系统一共就增送五十个铜币,但这两样毫无用处的装饰,却要每样售价125,加起正好250。虽如此,玩家热情不减,拼博一天,只为这250而努力。整个法师学院里就到处都是拖着长袍,架着黑框眼镜,手舞着扫把的玩家穿梭其中了。

            在这一片喜气洋洋的气氛中,却有一人愁眉不展。

            顾飞,穿着一袭法师长袍,站在学校广场的中央,望着周围欢快的人群,除了唉声叹气,实在找不出什么事可做。

            他最不愿意当的职业就是一名法师。

            但他偏偏就成了一名法师。

            这全要怪叫阿发的那个学生。顾飞本是学校的一名老师,无意中听到几个学生讨论到这个运用全息技术的新网游。在打听了几句后,这个叫阿发的学生就讨好地送给了自己一个帐号。

            谁知好心也会办错事。阿发居然稀里糊涂地把自己已经设定好职业和姓名的帐号给了顾飞。顾飞在接受过全息扫描、身份绑定等操作进入游戏后,才发现这一情况。又偏偏这网游是首次用到全息技术,受到了前所未有的关注。鉴于游戏服务器承载量有限,官方只能限量发送帐号,一个身份只限一个。最终导致顾飞如果想玩这游戏,就只能当这个法师。

            望着自己专程买回来的最新的全套全息设备,不玩实在可惜。顾飞最终还是进入了游戏。只可惜,没有选到心中所想的职业,游戏的目的已经完全丧失。此时的顾飞,站在城中已经不知道该干些什么了。

            正茫然,突然看到几个法师拖着碎裂的长袍鼻青脸肿地从法师学院的大门外往回跑。顾飞看到其中一个矮小瘦瘦的身影,下意识地喊了出来:“阿发!”

            就是这个学生,成绩差,体育差,长相也是普普通通,除了油嘴滑舌没发现啥特长,在学校属于那种姥姥不疼,爷爷不爱的绝对边缘人物。顾飞这个法师帐号就是从他这来的。在游戏里遇见他,顾飞很努力才克制住上去揍他一顿的冲动,毕竟他也不是故意的。更何况,自己还得为人师表。

            阿发听到有人叫他,抬头看到顾飞,踉踉跄跄地晃了过来。“老师好!”阿发说。

            “行了行了,不用这样。”顾飞连忙道。在游戏里被学生这样问候,实在是其窘无比的一件事。周围许多听到这一声的玩家,都好奇地望了过来。

            “你怎么搞成这样?”顾飞把阿发拉得离人群远了点,这才问道。
            </p>
        </div>
        <div id="lc" onclick="pre()"></div>
        <div id="rc" onclick="next()"></div>
    </div>

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">

    

    var page = 1;

    function pre() {
        var w = parseInt($('#box')[0].scrollWidth / 400);
        var prop = parseInt($('#inner')[0].style.transform.replace('translateX(', ""));
        console.log(prop)
        if (prop === 0) {
            alert('已经回到第一页啦');
            return false
        }

        var css = {
            "transform":"translateX("+ (prop + 420) +"px)"
        }
        $('#inner').css(css);
        
        
    }

    function next() {
        var ss = parseInt($('#box')[0].scrollWidth / 400);
        var prop = parseInt($('#inner')[0].style.transform.replace('translateX(', ""));
        console.log(prop)

        if (ss === 1) {
            alert('已经最后一页了');
            return false
        }

        var css = {
            "transform":"translateX("+ (prop-420) +"px)"
        }
        $('#inner').css(css);
        page++;
    }
</script>
</body>
</html>
咻兔哔
咻兔哔·2020年3月10日

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处

推荐文章

上传视频或音乐时获取时长信息
前端技术

上传视频或音乐时获取时长信息

在这篇文章中,我们介绍了如何使用JavaScript来获取上传视频或音乐的时长信息。首先,我们使用`URL.createObjectURL()`方法创建一个表示文件或Blob对象的URL,然后通过监听`loadedmetadata`事件来获取音频或视频的元数据,包括时长。对于音乐,我们还尝试了使用`Audio`对象来获取时长。这种方法简单且高效,特别适用于处理文件类型的数据。

11月20日6
一大波正则验证来袭请接收
前端技术

一大波正则验证来袭请接收

本文介绍了一些常用的表单验证工具,包括any-rule、JS开发技巧、火车车次、手机机身码、必须带端口号的网址、网址(支持端口和"?"+参数)、统一社会信用代码、迅雷链接、ed2k链接、磁力链接、子网掩码、linux文件夹路径、linux文件路径、window文件夹路径、window下文件路径、股票代码(A股)以及大于等于0, 小于等于150, 支持小数位出现5, 如145.5, 用于判断考卷分数。这些工具可以帮助开发者在网页中进行有效的表单验证,提高用户体验。

3月16日2
AceAdmin 菜单定位
前端技术

AceAdmin 菜单定位

这段代码是关于Ace Admin后台模版的,它通过JavaScript根据URL来判断显示哪块内容。具体来说,它首先获取URL的路径部分和查询参数部分,然后遍历所有的链接,如果链接的href属性与当前URL的路径部分相同,那么就给这个链接添加一个"active open"的类名,表示这个链接是打开的并且是活动的。

1月17日2