博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MathJax的使用
阅读量:4156 次
发布时间:2019-05-25

本文共 2972 字,大约阅读时间需要 9 分钟。

原文链接:

今天下了个mathJax用来格式化数学公式,记录一下大概用法,方便以后使用。我也是直接用的官方的demo改的。。

首先官网下mathJax的源码包,放到项目中

直接上代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

 <script type="text/x-mathjax-config">

            MathJax.Hub.Config({

              showProcessingMessages: false,

              tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] }

            });

  $(function() {

   var content = "";

      var Preview = {

              delay: 150,        

 

              preview: null,    

              buffer: null,      

 

              timeout: null,     

              mjRunning: false,  

              mjPending: false,  

              oldText: null,    

 

 

              Init: function () {

                this.preview = document.getElementById("MathPreview");

                this.buffer = document.getElementById("MathBuffer");

              },

 

 

              SwapBuffers: function () {

                var buffer = this.preview, preview = this.buffer;

                this.buffer = buffer; this.preview = preview;

                buffer.style.visibility = "hidden"; buffer.style.position = "absolute";

                preview.style.position = ""; preview.style.visibility = "";

              },

 

 

              Update: function () {

                if (this.timeout) {clearTimeout(this.timeout)}

                this.timeout = setTimeout(this.callback,this.delay);

              },

              

              CreatePreview: function () {

                Preview.timeout = null;

                if (this.mjPending) return;

                var text = content;

                if (text === this.oldtext) return;

                if (this.mjRunning) {

                  this.mjPending = true;

                  MathJax.Hub.Queue(["CreatePreview",this]);

                } else {

                  this.buffer.innerHTML = this.oldtext = text;

                  this.mjRunning = true;

                  MathJax.Hub.Queue(

                ["Typeset",MathJax.Hub,this.buffer],

                ["PreviewDone",this]

                  );

                }

              },

 

 

              PreviewDone: function () {

                this.mjRunning = this.mjPending = false;

                this.SwapBuffers();

              }

 

            };

 

 

            Preview.callback = MathJax.Callback(["CreatePreview",Preview]);

            Preview.callback.autoReset = true;  

       

      Preview.Init();

       

      $("#uptitle,#upcontent,#upanswerTitle,#upanswerContent").on("input", function() {

          content = $(this).val();

          Preview.Update();

      });

  });

 </script>

 <script type="text/javascript" src="${pageContext.request.contextPath}/js/mathjax/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>

  

 <div class="form-group">

     <label for="upanswerTitle"  class="control-label" style="text-align: center;width:20%">答案<span style="color:red;"> *</span></label>

     <textarea id="upanswerTitle" class="form-control"

        style="width: 70%; display: inline-block; margin-right: 15px; padding-left:0px; padding-right:0px;" rows="5" cols=""></textarea>

                                    

 </div>

 <div class="form-group">

     <label for="upanswerContent" class="control-label" style="text-align: center;width:20%">解析</label>

     <textarea id="upanswerContent" class="form-control"

        style="width: 70%; display: inline-block; margin-right: 15px; padding-left:0px; padding-right:0px;"

         rows="5" cols=""></textarea>

 </div>

                             

  <div class="form-group">

    <div id="MathPreview" style="padding: 3px; width:100%; margin-top:5px"></div>

    <div id="MathBuffer" style="border:1px solid; padding: 3px; width:100%; margin-top:5px; 

          visibility:hidden; position:absolute; top:0; left: 0"></div>

   </div>

效果:

154467848444024022997.gif

转载地址:http://fhwxi.baihongyu.com/

你可能感兴趣的文章
初始化VUE项目报错
查看>>
vue项目使用安装sass
查看>>
在osg场景中使用GLSL语言——一个例子
查看>>
laravel 修改api返回默认的异常处理
查看>>
laravel事务
查看>>
【JavaScript 教程】浏览器—History 对象
查看>>
这才是学习Vite2的正确姿势!
查看>>
7 个适用于所有前端开发人员的很棒API,你需要了解一下
查看>>
20种在学习编程的同时也可以在线赚钱的方法
查看>>
隐藏搜索框:CSS 动画正反向序列
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(中)
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>