jspdf 简单使用
jspdf 是一款功能强大插件,作用是利用javascript来生成pdf文档,目前遗憾的是不支持utf-8编码导致中文会乱码。
使用addHTML()方法可以解决这一问题,不过官方马上将弃用次方法 代码如下:
新方法 不过要加载==html2pdf.js==,而且并不支持中文。
jspdf 是一款功能强大插件,作用是利用javascript来生成pdf文档,目前遗憾的是不支持utf-8编码导致中文会乱码。
使用addHTML()方法可以解决这一问题,不过官方马上将弃用次方法 代码如下:
新方法 不过要加载==html2pdf.js==,而且并不支持中文。
第二步全局安装http-server
|
|
在你要项目的目录下打开命令行
|
|
这里的web是项目文件的根目录, 确保该文件下有index.html
|
|
插件地址:http-server 其中有详细使用方式。
这是 leetcode 上算法的第一题,官方定位为简单题目,事实也是如此。题目地址
题目:给定一个整数数组,返回两个数字的返回索引,这样它们就可以添加到特定的目标。假设每个输入都只有一个结果,不会两次使用相同的元素。例如:
|
|
基本所有人都会,但是该方法算法复杂度为O(n2),运行时间过长(246ms)
|
|
这种解法是用两个单独的循环,所以运行时间大大减少(116ms)。
大概思路是先做一遍遍历,将数据以’目标值减去数组中的某个值 : 该值的索引’这样类似map的方式存储在对象d中,然后再做一次遍历根据是否是新对象的属性来判断有没有解。 这个解法是我对这道题目的思考过程,中间有很多多余的操作。
|
|
leetcode 上大佬的解法,运行时间(92ms),直接在一个循环中解决问题。
大致思路,就是遍历数组,在exis对象中存入’值’:’索引’的属性,使用typeof 判断是否有符合条件的属性,有的话存入ans,最后返回ans。
对于这个算法我本来想在ans.push(i)后加个 return ans,想这样不用把算法走完或许会再少点时间,但是时间反而多了一点。然后我又尝试用break,好像是减少了几ms,但是leetcode运行同样的算法时间都有变化,这个就算在误差内了。
这道题目虽然不是很难,但是加深了我对javascript基础的认知,也感受到了用javascript写算法与java这种面向对象语言的区别。
部分代码
|
|
效果:
在页面主体内容不够多时 将页脚放在底部
在页面主体内容够多时 将页脚放在主体内容后面
原理简析:主体内容设置paddin-bottom 值为x,页脚将margin-top 的值设置成-x,使页脚沉入页面主体内容的padding-bottom中。因为主体内容 设置了最小高度,所以当其中内容不够多时它的高度和视口高度一样,所以页脚会和padding-bottom一样固定在下方。内容超过视口高度时,页脚就会被挤下去。
本文依赖于一个基础却又容易混淆的css知识点:当padding/margin取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!
当给padding设置百分比数值的时候,其值是根据width计算的
例如:
代码: