下面只是一些我以前用到过得,或者自己编写的Jquery工具,持续更新…
必须在head中添加
<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"/>
用于适配
需要的js文件 我这里直接使用cdn
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
使用方式
document.getElementById('content').innerHTML = marked(this.contents.context);
解析:
this.contents.context 是文本内容 可以使用ajax 可以使用读取本地文件的方式
marked() 将内容Markdown语法解析 然后传递给id=content的标签
列:
读取本地文件的方式
<body>
<div id="content" style="width: auto;height: auto;">
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script> $(function () { var htmlobj = $.ajax({url: "./char类型能不能转成int类型?能不能转化成string类型?,能不能转成double类型?.md", async: false}); document.getElementById('content').innerHTML = marked(htmlobj.responseText); }) </script>
</body>
使用ajax的方式
$(function () {
$.get("url",{},function (data) {
document.getElementById('content').innerHTML = marked(data);
})
})
以上效果都是没有美化的Markdown 需要添加Markdown.css样式的
Markdown原样式
链接:https://pan.baidu.com/s/1cp5OULqni89Zqi3aW6iUVw
提取码:1234
将github-markdown.css 添加到页面中后自行修改
以下都是美化好的样式
infoq.css
链接:https://pan.baidu.com/s/1q1wJhIGNM7bTMLtJ2brWSQ
提取码:1234
xiaolai.css
链接:https://pan.baidu.com/s/1UPDsGnX8Sa8MP_V2HdH9hQ
提取码:1234
markdown-code.css
链接:https://pan.baidu.com/s/1FOYxRcJ0Za3cYHvrWFyKwg
提取码:1234
simple.css
链接:https://pan.baidu.com/s/1m7PRTLMnaoXBsmBqjrdxIA
提取码:1234
style.css
链接:https://pan.baidu.com/s/1F59Mfu8ioYkKo3JYckO-JA
提取码:1234
给代码块添加高亮需要用到以下插件
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/highlight.min.js"></script>
然后需要激活高亮:
<script>hljs.initHighlightingOnLoad(); //激活高亮插件</script>
在使用时,一定要将你要展示的代码包在<pre><code></code></pre>标签里!!! 这样才有效果
如果直接使用ajax的话渲染需要
//帮助你主动渲染highlight
var highCode = hljs.highlightAuto("需要渲染的内容").value;
//添加到指定的code里
$("#code1 code").html(highCode);
如果是使用vue的话你会发现没有效果 那么可以这样
//定义一个全局控件
Vue.directive('highlight',function (el) {
let blocks = el.querySelectorAll('pre code');
blocks.forEach((block)=>{
hljs.highlightBlock(block)
})
})
然后在需要使用的地方
<div v-highlight>
</div>
这里面的<pre><code></code></pre>标签就会产生效果
你会发现代码没有高亮因为还需要添加高亮的css样式 我这里提供了几种我认为比较好的 当然网上也有其他的你自己去找吧
护眼版
链接:https://pan.baidu.com/s/1xltZksH-d2yEqi-r5C1oqQ
提取码:1234
蓝屏版
链接:https://pan.baidu.com/s/19vTG8reMVz5McTxLhU7NjA
提取码:1234
白色背景版
链接:https://pan.baidu.com/s/1cz_-wcP5HEMHprswGgLDvQ
提取码:1234
黑色背景版
链接:https://pan.baidu.com/s/1muw0rc7Nf0R8feJD_pfxRQ
提取码:1234
将以上css样式添加后就会产生对应图片的效果了 但是新的问题就出现了 你可能会发现很多博客里代码块都有序号这是怎么添加的?
我帮你们写好了js和css代码你调用直接产生效果 但是css方面需要你根据主题的样式去调整颜色 需要调整的地方我也注释了
Code_block.js
链接:https://pan.baidu.com/s/1sJxt_33Vh3XBz-oRky7luQ
提取码:1234
Code_block.css
链接:https://pan.baidu.com/s/1Bq16LyNplaXSAAfeK9LvTg
提取码:1234
列:
需要的头部
<head>
<meta charset="UTF-8">
<title>Title</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"/>
<link rel="stylesheet" href="css/atelier-dune-light.css">
<link rel="stylesheet" href="css/Code_block.css">
</head>
需要的js
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.6.0/highlight.min.js"></script>
<script>hljs.initHighlightingOnLoad(); //激活高亮插件</script>
<script src="js/Code_block.js"></script>
方式一:手动添加代码方式
<!-- 手动添加代码的方式-->
<div class="div_Code_block Code_text">
<ul class="ul_Code_block"></ul>
<pre class="pre_Code_block"><code class="code_Code_block">
<textarea style="display: none">
//总页数
private int pages;
//总记录数
private long total;
//结果集 ( 需要展现的数据)
private List<T> list;
</textarea>
</code></pre>
<button class="btn_Code_block">复制内容</button>
<div class="dh_Code_block">
<h2>复制成功</h2>
</div>
</div>
注意在code里的textarea标签会爆红不用管它
需要激活代码块序号添加下代码
<script>Code_block() //激活序号</script>
方式二:ajax读取本地文件的方式
<!--代码区域1-->
<div class="div_Code_block Code_url">
<ul id="ul_1" class="ul_Code_block"></ul>
<pre class="pre_Code_block"><code class="code_Code_block"></code></pre>
<button class="btn_Code_block">复制内容</button>
<div class="dh_Code_block">
<h3>复制成功</h3>
</div>
</div>
<!--代码区域2-->
<div class="div_Code_block Code_url">
<ul class="ul_Code_block"></ul>
<pre class="pre_Code_block"><code class="code_Code_block"></code></pre>
<button class="btn_Code_block">复制内容</button>
<div class="dh_Code_block">
<h2>复制成功</h2>
</div>
</div>
js代码
<script> var str = ["test/PageHelper分页.txt", "test/Page.txt"]; Code_block(str) //激活 </script>
str[0] 对应 第一个代码区域 str[2] 对应第二个代码区域
注意文件的地址:
方式三:ajax请求url返回数据渲染方式
但是会面临一个问题就是 hljs.initHighlightingOnLoad(); 只会在页面加载的时候渲染一次 而ajax是 异步的所以导致highlight渲染不上
但是有解决办法就是自己主动渲染就行 下面有代码自己看
<!--ajax 方式-->
<div class="div_Code_block Code_url" id="code1">
<ul class="ul_Code_block"></ul>
<pre class="pre_Code_block"><code class="code_Code_block" ></code></pre>
<button class="btn_Code_block">复制内容</button>
<div class="dh_Code_block">
<h2>复制成功</h2>
</div>
</div>
<script> $.get("http://106.52.41.81:8083/feign_article/articleId?articleId=121-2021aE2jK12jR23dD48vW2g656B-943",{},function (data) { $("#code1 code").text($.parseJSON(data).data.context) //传入id 进行渲染代码块 序号 ajax_Block("code1") //帮助你主动渲染highlight var highCode = hljs.highlightAuto($.parseJSON(data).data.context ).value; $("#code1 code").html(highCode); }) </script>
需要用到的css
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.9.0/viewer.min.css"/>
需要用到的js
<script src="https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.9.0/viewer.min.js"></script>
激活
<script> new Viewer(document.getElementById('images1'));</script>
列:
<body>
<!-- 默认 src 属性 -->
<ul id="images1" class="img-list">
<li><img src="./a.jpg" alt="Picture 1"></li>
<li><img src="./a.jpg" alt="Picture 2"></li>
<li><img src="./1.gif" alt="Picture 3"></li>
</ul>
<script> new Viewer(document.getElementById('images1'));</script>
</body>
这个控件满足了你所需要的图片查看的所有功能
如果是ajax 请求出来的图片那么就需要在请求的那个ajax里使用激活 使用 viewer.update(); 进行刷新
如果是vue那么就需要在created()事件中进行激活 如果不生效 那么看看在其他地方是否有 viewer代码 然后删除就行了
反正就是在什么地方获取到的图片那么就在什么地方进行激活就行了
默认的 配置 是最好的 的但是 如果你不需要某些 控件那么可以取消
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
inline | 布尔值 | false | 启用 inline 模式 |
button | 布尔值 | true | 显示右上角关闭按钮(jQuery 版本无效) |
navbar | 布尔值/整型 | true | 显示缩略图导航 |
title | 布尔值/整型 | true | 显示当前图片的标题(现实 alt 属性及图片尺寸) |
toolbar | 布尔值/整型 | true | 显示工具栏 |
tooltip | 布尔值 | true | 显示缩放百分比 |
movable | 布尔值 | true | 图片是否可移动 |
zoomable | 布尔值 | true | 图片是否可缩放 |
rotatable | 布尔值 | true | 图片是否可旋转 |
scalable | 布尔值 | true | 图片是否可翻转 |
transition | 布尔值 | true | 使用 CSS3 过度 |
fullscreen | 布尔值 | true | 播放时是否全屏 |
keyboard | 布尔值 | true | 是否支持键盘 |
interval | 整型 | 5000 | 播放间隔,单位为毫秒 |
zoomRatio | 浮点型 | 0.1 | 鼠标滚动时的缩放比例 |
minZoomRatio | 浮点型 | 0.01 | 最小缩放比例 |
maxZoomRatio | 数字 | 100 | 最大缩放比例 |
zIndex | 数字 | 2015 | 设置图片查看器 modal 模式时的 z-index |
zIndexInline | 数字 | 0 | 设置图片查看器 inline 模式时的 z-index |
url | 字符串/函数 | src | 设置大图片的 url |
build | 函数 | null | 回调函数,具体查看演示 |
built | 函数 | null | 回调函数,具体查看演示 |
show | 函数 | null | 回调函数,具体查看演示 |
shown | 函数 | null | 回调函数,具体查看演示 |
hide | 函数 | null | 回调函数,具体查看演示 |
hidden | 函数 | null | 回调函数,具体查看演示 |
view | 函数 | null | 回调函数,具体查看演示 |
viewed | 函数 | null | 回调函数,具体查看演示 |
列:
var viewer = new Viewer(document.getElementById('images2'), {
url: 'data-imgurl', //需要加载的放大图的属性
movable: false // 设置不可移动图片
});
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_45203607/article/details/120247862
内容来源于网络,如有侵权,请联系作者删除!