杰拉斯的博客

标签:前端

新浪微博表情插件——jQuery Sina Emotion 3.0 发布

杰拉斯 杰拉斯 | 时间:2018-01-12, Fri | 75,010 views
前端开发 

jQuery Sina Emotion

一个用于方便快速地创建新浪微博表情选择对话框的 jQuery 插件。

有何特点

  • 使用简单,一行代码即可创创建出表情选择对话框
  • 自带智能表情解析方法(但还是建议表情解析在服务端进行)
  • 兼容IE6+、Chrome、Firefox、Opera等各种浏览器

(阅读全文…)

[知乎]关于选择器优先级的计算

杰拉斯 杰拉斯 | 时间:2013-11-25, Mon | 25,653 views
前端开发 

探寻真理者不可心存傲慢”,再一次给自己敲响警钟。

曾经以为

CSS的优先级

不过如此,虽然自己列不出(主要是不喜欢死记理论)所有CSS选择器的优先级顺序,但我在写代码的时候一定能够写对,所以一直看轻了它,直到今天遇到了这样一个问题:

  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>CSS Selectors Level</title>
  6. <style type="text/css">
  7. .inner:not(#outer) p{color: blue;}
  8. .outer .inner p{color: orange;}
  9. </style>
  10. </head>
  11. <body>
  12. <div class="outer">
  13. <p>outer</p>
  14. <div class="inner">
  15. <p>inner</p>
  16. </div>
  17. </div>
  18. </body>
  19. </html>

猜猜是什么颜色?

(阅读全文…)

借@阿里巴巴 耍了个帅——HTML5 JavaScript实现图片文字识别与提取

杰拉斯 杰拉斯 | 时间:2013-09-16, Mon | 49,085 views
前端开发 

写在前面

8月底的时候,@阿里巴巴 推出了一款名为“拯救斯诺克”的闯关游戏,作为前端校园招聘的热身,做的相当不错,让我非常喜欢。后来又传出了一条消息,阿里推出了A-star(阿里星)计划,入职阿里的技术培训生,将接受CTO等技术大牛的封闭培训,并被安排到最有挑战的项目中,由技术带头人担任主管。

(阅读全文…)

[实用小代码]网页中的各种长宽、坐标

杰拉斯 杰拉斯 | 时间:2013-08-28, Wed | 20,931 views
前端开发 
  1. <!doctype html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>网页中的各种长宽、坐标</title>
  6. </head>
  7. </head>
  8. <body onmousemove="getXandY()">
  9. <label>window.event.clientX:</label><label id="xa" class="xy"></label><br />
  10. <label>window.event.clientY:</label><label id="ya" class="xy"></label><br />
  11. <label>window.event.x :</label><label id="xb" class="xy"></label><br />
  12. <label>window.event.y :</label><label id="yb" class="xy"></label><br />
  13. <label>window.event.screenX:</label><label id="xc" class="xy"></label><br />
  14. <label>window.event.screenY:</label><label id="yc" class="xy"></label><br /><br />
  15. <label>window.screen.height:</label><label id="screenHeight" class="xy"></label><br />
  16. <label>window.screen.width:</label><label id="screenWidth" class="xy"></label><br /><br />
  17. <label>window.document.body.clientHeight:</label><label id="ch" class="xy"></label><br />
  18. <label>window.document.body.clientWidth:</label><label id="cw" class="xy"></label><br />
  19. <label>window.document.body.clientLeft:</label><label id="cl" class="xy"></label><br />
  20. <label>window.document.body.clientTop:</label><label id="ct" class="xy"></label><br /><br />
  21. <label>window.document.body.scrollHeight:</label><label id="sh" class="xy"></label><br />
  22. <label>window.document.body.scrollWidth:</label><label id="sw" class="xy"></label><br />
  23. <label>window.document.body.scrollLeft:</label><label id="sl" class="xy"></label><br />
  24. <label>window.document.body.scrollTop:</label><label id="st" class="xy"></label><br /><br />
  25. <label>window.document.body.offsetHeight:</label><label id="oh" class="xy"></label><br />
  26. <label>window.document.body.offsetWidth:</label><label id="ow" class="xy"></label><br />
  27. <label>window.document.body.offsetLeft:</label><label id="ol" class="xy"></label><br />
  28. <label>window.document.body.offsetTop:</label><label id="ot" class="xy"></label><br />
  29. <script type="text/javascript">
  30. function getXandY(){
  31. var Xa = window.event.clientX;
  32. var Ya = window.event.clientY;
  33. document.getElementById("xa").innerHTML = Xa;
  34. document.getElementById("ya").innerHTML = Ya;
  35. var Xb = window.event.x;
  36. var Yb = window.event.y;
  37. document.getElementById("xb").innerHTML = Xb;
  38. document.getElementById("yb").innerHTML = Yb;
  39. var Xc = window.event.screenX;
  40. var Yc = window.event.screenY;
  41. document.getElementById("xc").innerHTML = Xc;
  42. document.getElementById("yc").innerHTML = Yc;
  43. var screenHeight = window.screen.height;
  44. var screenWidth = window.screen.width;
  45. document.getElementById("screenHeight").innerHTML = screenHeight;
  46. document.getElementById("screenWidth").innerHTML = screenWidth;
  47. var clientHeight = window.document.body.clientHeight;
  48. var clientWidth = window.document.body.clientWidth;
  49. var clientLeft = window.document.body.clientLeft;
  50. var clientTop = window.document.body.clientTop;
  51. document.getElementById("ch").innerHTML = clientHeight;
  52. document.getElementById("cw").innerHTML = clientWidth;
  53. document.getElementById("cl").innerHTML = clientLeft;
  54. document.getElementById("ct").innerHTML = clientTop;
  55. var scrollHeight = window.document.body.scrollHeight;
  56. var scrollWidth = window.document.body.scrollWidth;
  57. var scrollLeft = window.document.body.scrollLeft;
  58. var scrollTop = window.document.body.scrollTop;
  59. document.getElementById("sh").innerHTML = scrollHeight;
  60. document.getElementById("sw").innerHTML = scrollWidth;
  61. document.getElementById("sl").innerHTML = scrollLeft;
  62. document.getElementById("st").innerHTML = scrollTop;
  63. var offsetHeight = window.document.body.offsetHeight;
  64. var offsetWidth = window.document.body.offsetWidth;
  65. var offsetLeft = window.document.body.offsetLeft;
  66. var offsetTop = window.document.body.offsetTop;
  67. document.getElementById("oh").innerHTML = offsetHeight;
  68. document.getElementById("ow").innerHTML = offsetWidth;
  69. document.getElementById("ol").innerHTML = offsetLeft;
  70. document.getElementById("ot").innerHTML = offsetTop;
  71. }
  72. </script>
  73. </body>
  74. </html>

收集整理自网上

[常用布局]左栏固定宽度,右栏自适应的两种纯CSS方法

杰拉斯 杰拉斯 | 时间:2013-08-26, Mon | 36,150 views
前端开发 

其一,左栏固定宽度,右栏自适应之绝对定位法:

  1. <!doctype html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>左栏固定宽度,右栏自适应之绝对定位法</title>
  6. <style type="text/css">
  7. body{
  8. margin: 0;
  9. }
  10. #nav{
  11. top: 0;
  12. left: 0;
  13. width: 230px;
  14. height: 600px;
  15. background: #ccc;
  16. position: absolute;
  17. }
  18. #main{
  19. height: 600px;
  20. margin-left: 230px;
  21. background: #0099ff;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div id="container">
  27. <div id="nav">
  28. 左栏
  29. </div>
  30. <div id="main">
  31. 右栏
  32. </div>
  33. </div>
  34. </body>
  35. </html>

看起来很美好,但是。。

由于左栏使用绝对定位,脱离了文档流,因此有一个缺陷,即当左栏高度大于右栏时,无法将container撑开,这个缺陷单单只看两栏布局并没有太大影响,但如果两栏布局下面有一个底栏,就会出现底栏与左栏重叠的情况

(阅读全文…)