
1、给每一串代码元素增加复制代码节点JS代码
$(function(){
let preList = $(".show pre");
for (let pre of preList) {
//给每个代码块增加上“复制代码”按钮
let btn = $("复制代码");
btn.prependTo(pre);
}
});
/*执行复制代码操作*/
function preCopy(obj) {
//执行复制
let btn = $(obj);
let pre = btn.parent();
//为了实现复制功能。新增一个临时的textarea节点。使用他来复制内容
let temp = $("<textarea></textarea>");
//避免复制内容时把按钮文字也复制进去。先临时置空
btn.text("");
temp.text(pre.text() + '原文链接:' + window.location.href); //复制后戴上本站的链接
temp.appendTo(pre);
temp.select();
document.execCommand("Copy");
temp.remove();
btn.text("复制成功");
setTimeout(()=> {
btn.text("复制代码");
},1500);
}
2、CSS样式
.show pre {
position: relative;
font-family: Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;
word-wrap: normal;
word-break: break-all;
white-space: pre;
overflow-x: scroll;
overscroll-behavior-x: contain;
margin-top: 10px;
margin-bottom: 0;
border-radius: 4px;
z-index: 0;
padding: 1em;
line-height: 1.5;
color: #ccc;
background: #2d2d2d;
font-size: 14px;
padding-left: 50px;
}
.show pre .btn-pre-copy{
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-khtml-user-select: none;
user-select: none;
position: absolute;
top: 10px;
right: 12px;
font-size: 12px;
line-height: 1;
cursor: pointer;
color: hsla(0,0%,54.9%,.8);
transition: color .1s;
}
.show pre .btn-pre-copy:hover{
color: #fff;
}
3、如何不想用插件,要显示pre的行数1,2,3,4,5
let preList = $(".show pre");
let ulList = []
for(let i=0; i<preList.length; i++){
let ul = ''
//给每个代码块增加上“复制代码”按钮
let preNum = preList.eq(i).html().split(/\n/).length
ul += '<ul>'
for(let j=1; j<preNum; j++){
ul += '<li>' + (j) + '</li>'
}
ul += '</ul>'
ulList.push(ul)
}
for(let i=0; i<preList.length; i++){
for(let j=0; j<ulList.length; j++){
if(i == j){
preList.eq(i).append(ulList[j])
}
}
}
4、CSS样式
.show pre ul{
position: absolute;
left: 0;
top: 0;
background: #464541;
padding: 1em 10px;
line-height: 1.5;
}
上面是“在每个pre代码块中增加一个“复制代码”功能”的全面内容,想了解更多关于 前端知识 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_2056.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

如何利用nginx禁止访问*.txt和*.doc文件