1.单双击冲突解决
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <button>按钮</button> <script src="jquery.js"></script> <script> $(function () { var tim = null; $("button").click(function (event) { clearTimeout(tim); tim = setTimeout(function () { console.log("单击") },300); }); $("button").dblclick(function (event) { clearTimeout(tim); console.log("双击") }) }) </script> </body> </html>
2.jQueryUI
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI 排序(Sortable) - 默认功能</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.9.1.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"> <style> #sortable { list-style-type: none; margin: 0; padding: 0; width: 60%; } #sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; } #sortable li span { position: absolute; margin-left: -1.3em; } </style> <script> $(function() { $( "#sortable" ).sortable(); $( "#sortable" ).disableSelection(); }); </script> </head> <body> <ul id="sortable"> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li> </ul> </body> </html>
3.animate
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/animate.min.css"> <style> #box{ width: 200px; height: 200px; line-height: 200px; text-align: center; background: green; color: #fff; position: absolute; top: 2000px; } </style> </head> <body> <div id="box" class="animated bounceInDown">qing</div> <script src="jquery.js"></script> <!--<h2 class="animated fadeOutRight">qing</h2>--> <script> $(function () { $(document).scroll(function () { var scrollTopHeight = $(this).scrollTop(); if (scrollTopHeight >= 1000){ $("#box").addClass("animated slideInDown") } }) }) </script> </body> </html>
4.移动端响应式@media
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> @media screen and (min-width: 1200px){ body{ background-color: red; } } @media screen and (min-width: 800px) and (max-width: 1200px){ body{ background-color: green; } } @media screen and (max-width: 800px){ body{ background-color:yellow; } } </style> </head> <body> </body> </html>
5.单位介绍
1rem=html中的文字大小
/*获得页面宽度后动态修改html上的fontsize * 320为iphone5设计稿下的页面宽度,如下设置后页面的页面在iphone5等宽屏幕上html * 的font-size会变为100px,即 1rem = 100px 1px=0.01rem * 所以设置元素尺寸的时候,如果测量设计稿 15px 则需设置尺寸为 (0.01*15)rem = 0.15rem */ !(function(doc, win) { var docEle = doc.documentElement, evt = "onorientationchange" in window ? "orientationchange" : "resize", fn = function() { var width = docEle.clientWidth; console.log(width) width && (docEle.style.fontSize = 100 * (width / 375) + "px"); }; win.addEventListener(evt, fn, false); doc.addEventListener("DOMContentLoaded", fn, false); }(document, window));
6.三元运算
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> var a = 1 > 1 ? "真的":"假的"; console.log(a); </script> </body> </html>