首页 > 其他分享 >web前端之页面逐渐呈现代码功能、对象数据如何获取下一个值、创建元素并添加id与类名、自定义函数执行顺序、实时监听元素高度、代码着色或高亮、代码标签、动态显示、渐渐展示、返回顶部、置顶、动画、递归

web前端之页面逐渐呈现代码功能、对象数据如何获取下一个值、创建元素并添加id与类名、自定义函数执行顺序、实时监听元素高度、代码着色或高亮、代码标签、动态显示、渐渐展示、返回顶部、置顶、动画、递归

时间:2024-03-31 15:59:29浏览次数:18  
标签:box 动态显示 pre code lang 代码 元素 elStr

MENU


前言

1、效果演示以视频为准,暂未录视频(敬请期待);
2、私信或微信可获取完整代码(WX: MJ682517)


style(全部代码)

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

::-webkit-scrollbar {
    width: 0;
}

body {
    height: 100vh;
}

.box {
    padding: 20px;
}

pre {
    margin-top: 36px;
}

pre:first-child {
    margin-top: 0px;
}

code {
    white-space: pre-wrap;
}

JavaScript(核心代码)

function publicFn(elStr, lang) {
    let pre = document.createElement("pre"),
        code = document.createElement("code");

    code.setAttribute("id", \`\${lang}_box\`);
    code.classList.add("hljs");
    code.classList.add(\`language-\${lang}\`);
    pre.appendChild(code);
    box.appendChild(pre);

    let el = document.querySelector(\`#\${lang}_box\`);

    publicChage();

    function publicChage() {
        const str = elStr.charAt(i);
        el.textContent += str;

        i++;

        if (i < elStr.length) {
            setTimeout(publicChage, timeNum);
        } else {
            i = 0;
            const result = hljs.highlight(elStr, { language: lang });

            el.innerHTML = result.value;
            setTimeout(() => {
                initFnRun(1, lang);
            }, 1000 * 1);
        }
    }
}

html(基本代码)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>代码逐渐呈现</title>
	<link rel="stylesheet" href="index.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/default.min.css">
	<link rel="stylesheet" href="../../nodeModules/node_modules/highlight.js/styles/school-book.min.css">
</head>
<body>
	<div class="box"></div>
	
	<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>
	<script src="./index.js"></script>
</body>
</html>

标签:box,动态显示,pre,code,lang,代码,元素,elStr
From: https://blog.csdn.net/weixin_51157081/article/details/116768646

相关文章

  • 代码随想录算法训练营第10天 | 栈和队列
    理论基础栈和队列是STL(C++标准库)里面的两个数据结构STL中栈往往不被归类为容器,而被归类为containeradapter(容器适配器)栈的内部结构,栈的底层实现可以是vector,deque,list都是可以的,主要就是数组和链表的底层实现我们常用的SGISTL,如果没有指定底层实现的话,默认是以deque为......
  • 【Java编程】【算法面试题】【数组轮转】给定一个整数数组 nums,将数组中的元素向右轮
    原题:给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。例如:nums=[1,0,-1,2,3]k=1预期结果:nums=[3,1,0,-1,2]k=2预期结果:nums=[2,3,1,0,-1]以此类推。。。【本文思路解析】:1.不实用额外的数组,会多一部分开销;2.每次轮转,位置移动1位,共计移......
  • 【Python】【完整代码】张万森,下雪了,我想你~
    目录1.实现效果2.完整代码3.代码分析         有人说,张万森下雪了的意思是我想你了;也有人说,张万森下雪了就是表达一个男孩对于暗恋女孩的感受。而我觉得“张万森下雪了”是一个含蓄的告白,小伙伴们觉得呢~本篇文章将用python画出“张万森,下雪了”,欢迎围观!......
  • 代码随想录算法训练营第9天 | 字符串(待补充)
    28.实现strStr()KMP算法KMP算法:字符串匹配问题,提前构建next表next表(前缀表):利用成功匹配的经验,长度为t的前后缀相匹配,next[j]=tnext表再改进:利用失败匹配的经验,如果P[j]和P[t]相等,仍然是徒劳?......
  • lc3041 修改数组后最大化数组中的连续元素数目
    给定一个下标从0开始的只包含正整数的数组nums,你可以将数组中任意元素的值增加至多1,修改后,从数组中选择一个或多个元素,并确保这些元素升序排列后是连续的,求它的最大长度。将数组排序,然后从大到小处理,每个元素分别计算以它开始能得到的长度,包含它本身和加1后两种情况,递推即可。cl......
  • UnrealEngine UnityBuild模式编译第三方代码问题
    UnrealEngine默认开了UnityBuild模式,把多个代码文件合并到一个较大的cpp文件进行编译。这样是为了减少总编译任务数,尽量避免单个编译任务代码内容太少导致在切换任务上消耗太多时间,尤其分布式编译情况下,任务切换成本更高。UnityBuild参考日志1>[22/102]Compile[x64]Module.......
  • Python面向对象多态实现原理及代码实例
    Python面向对象编程中的多态性表示的是同一种操作可以在不同的对象上有不同的表现。多态性指的是可以无视对象的具体类型,而直接调用某个方法,这个方法会根据对象的实际类型而进行不同的操作。这是通过继承和重写方法实现的。在Python中,任何类都有一个公共的祖先:object类。Python中......
  • 【JavaParser笔记02】JavaParser解析Java源代码中的类字段信息(javadoc注释、字段​​
    这篇文章,主要介绍如何使用JavaParser解析Java源代码中的类字段信息(javadoc注释、字段名称)。目录一、JavaParser依赖库1.1、引入依赖1.2、获取类成员信息(1)案例代码<......
  • 波兰表达式代码
    importjava.util.ArrayList;importjava.util.List;importjava.util.Stack;publicclassPolan{publicstaticvoidmain(String[]args){//先定义波兰表达式//(3+2)*5-4=》32+5*4—StringExpression="32+5*4—";//将后......
  • 代码审计[一] [0CTF 2016]piapiapia
    代码审计[一][0CTF2016]piapiapia对着登录框一顿乱注,发现都没什么效果,于是转向目录爆破。gobuster不知道为什么爆不了,只能用dirsearch来了dirsearch-u[url]-s1-t10爆到了一整个源码备份压缩包,下载后进行分析源码分析index.php对于html部分,可以见到是登录界面,......