JavaScript由浏览器编译运行

JS的导入方式有两种,一种直接定义,第二种通过src引入;可以存放在<head>头部,但是强烈建议放在<body>的最下面,因为如果你引入外部的JS样式很久都不能出来,会影响到用户体验。

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <script>
  7. alert('')
  8. </script>
  9. </head>
  10. <body>
  11. <script>
  12. alert('')
  13. </script>
  14.  
  15. <script src="commons.js"></script>
  16. </body>
  17. </html>

JS的变量定义,有var表示局部变量,只能在函数体内被识别,没有var表示全局变量,哪里都可以使用。

  1. <body>
  2. <script>
  3. function f1(){
  4. i = 123
  5. }
  6. f1();
  7. alert(i);
  8. </script>
  9.  
  10. </body>

利用JS实现的跑马灯效果:

  1. <body>
  2. <div id = "i1" style="display: inline-block;background-color: green;color: white">欢迎宝强莅临指导</div>
  3.  
  4. <script>
  5.  
  6. setInterval("f1()",1000);
  7.  
  8. function f1(){
  9. var tag = document.getElementById('i1');
  10. var text = tag.innerText;
  11. // alert(text);
  12. var a = text.charAt(0);
  13. var sub = text.substring(1,text.length);
  14. var new_str = sub + a;
  15. tag.innerText = new_str;
  16. }
  17. </script>
  18. </body>

JS的序列化

  1. dic = {'k1':'123','k2':456}
  2. Object {k1: "123", k2: 456}
  3. dic_str = JSON.stringify(dic)  //将字典转换为字符串
  4. "{"k1":"123","k2":456}"
  5. dic_str
  6. "{"k1":"123","k2":456}"
  7. dic_new = JSON.parse(dic_str) //将字符串转为字典
  8. Object {k1: "123", k2: 456}
  9. dic_new
  10. Object {k1: "123", k2: 456}

JS之encode和decode,针对于URL使用

  1. <script>
  2. var site = "http://www.baidu.com?王宝强";
  3. var site_url = encodeURI(site);
  4. console.log(site_url);
  5. var site_de = decodeURI(site_url);
  6. console.log(site_de);
  7. </script>
    执行结果:
  1. http://www.baidu.com?%E7%8E%8B%E5%AE%9D%E5%BC%BAs3.html:13
    http://www.baidu.com?王宝强

JS之escape和unescape针对字符串进行转义,譬如在cookies的使用中

JS之函数的分类

  1. <script>                        //普通函数
  2. setInterval('f1()',2000)
  3. function f1(){
  4. alert('123')
  5. }
  6. </script>
  7.  
  8. <script>                        //匿名函数,调用的过程中不使用函数名
  9. setInterval(function(){
  10. alert('123');
  11. },2000)
  12. </script>
  13.  
  14. <script>                        //自执行函数,分为两部分,前面是函数,后面是传递的参数()()。
  15. (function(args){
  16. alert(args);
  17. })(123)
  18. </script>

JS的作用域

  1. <body>
  2. <script>
  3. xo = "alex";
  4. function func(){
  5. var xo = "eric";
  6. function inner(){
  7. console.log(xo);
  8. }
  9. xo = "severn";
  10. return inner;
  11. }
  12. var ret = func();
  13. ret();
  14. </script>
  15. </body>
    执行结果:
  1. severn

搜索框的实现:

  1. <body>
  2. <div>
  3. <input id="i1" type="text" value="请输入关键字" onfocus="Focus();" onblur="Blur();" />
  4. <!--<input id="i2 " type="text" onblur="blur();">-->
  5. </div>
  6.  
  7. <script type="text/javascript">
  8. function Focus(){
  9. var tag = document.getElementById('i1');
  10. if (tag.value == "请输入关键字"){
  11. tag.value = "";
  12. }
  13. }
  14.  
  15. function Blur(){
  16. var tag = document.getElementById('i1');
  17. if (tag.value.trim().length == 0){
  18. tag.value = "请输入关键字";
  19. }
  20. }
  21. </script>
  22. </body>

模态对话框

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. body{
  8. margin: 0;
  9. }
  10.  
  11. .hide{
  12. display: none;!important;
  13. }
  14.  
  15. .shade{
  16. position: fixed;
  17. top:0;
  18. bottom: 0;
  19. left: 0;
  20. right: 0;
  21. background-color: aquamarine;
  22. opacity: 0.6;
  23. z-index: 1000;
  24. }
  25.  
  26. .modal{
  27. height: 200px;
  28. width: 400px;
  29. background-color: darkorange;
  30. position: fixed;
  31. top: 50%;
  32. left: 50%;
  33. margin-left: -200px;
  34. margin-top: -100px;
  35. z-index: 1001
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <div style="height: 2000px;background-color: #F1F1F1;">
  41. <input type="button" value="点我" onclick="Click()"/>
  42. </div>
  43.  
  44. <div id="shade" class="shade hide"></div>
  45. <div id="modal" class="modal hide">
  46. <input type="button" value="取消" onclick="DeClick()"/>
  47. </div>
  48.  
  49. <script>
  50. function Click(){
  51. var t1 = document.getElementById("shade");
  52. var t2 = document.getElementById("modal");
  53. t1.classList.remove("hide");
  54. t2.classList.remove("hide");
  55. }
  56.  
  57. function DeClick(){
  58. var t1 = document.getElementById("shade");
  59. var t2 = document.getElementById("modal");
  60. t1.classList.add("hide");
  61. t2.classList.add("hide");
  62. }
  63. </script>
  64. </body>
  65. </html>

用JS实现checkbox选择框的选择

  1. <body>
  2. <table border="1 solid red" id="tb">
  3. <input type="button" value="全选" onclick="CheckALL()"/>&nbsp;
  4. <input type="button" value="取消" onclick="CancelALL()"/>&nbsp;
  5. <input type="button" value="反选" onclick="ReverseALL()"/>
  6. <tr>
  7. <th>标题1</th>
  8. <th>标题2</th>
  9. <th>标题3</th>
  10. </tr>
  11. <tr>
  12. <td><input type="checkbox"/></td>
  13. <td>内容2</td>
  14. <td>内容3</td>
  15. </tr>
  16. <tr>
  17. <td><input type="checkbox"/></td>
  18. <td>内容2</td>
  19. <td>内容3</td>
  20. </tr>
  21. <tr>
  22. <td><input type="checkbox"/></td>
  23. <td>内容2</td>
  24. <td>内容3</td>
  25. </tr>
  26. </table>
  27. <script>
  28. function CheckALL(){
  29. var tb = document.getElementById("tb");
  30. var tbchild = tb.children;
  31. var trs = tbchild[0].children;
  32. for (var i=1;i<trs.length;i++){
  33. var current_tr = trs[i];
  34. var ck = current_tr.firstElementChild.firstElementChild;
  35. ck.checked = true;
  36. // ck.setAttribute("checked","checked");
  37. }
  38. }
  39.  
  40. function CancelALL(){
  41. var tb = document.getElementById("tb");
  42. var tbchild = tb.children;
  43. var trs = tbchild[0].children;
  44. for (var i=1;i<trs.length;i++){
  45. var current_tr = trs[i];
  46. var ck = current_tr.firstElementChild.firstElementChild;
  47. if(ck.checked) {
  48. ck.checked = false;
  49. // ck.removeAttribute("checked");
  50. }
  51. }
  52. }
  53. function ReverseALL(){
  54. var tb = document.getElementById("tb");
  55. var tbchild = tb.children;
  56. var trs = tbchild[0].children;
  57. for (var i=1;i<trs.length;i++){
  58. var current_tr = trs[i];
  59. var ck = current_tr.firstElementChild.firstElementChild;
  60. if (ck.checked){
  61. ck.checked = false;
  62. }else{
  63. ck.checked = true;
  64. }
  65. }
  66. }
  67. </script>
  68. </body>

JS实现的点赞功能:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. .item{
  8. padding:50px;
  9. position: relative;
  10. }
  11.  
  12. .item span{
  13. position: absolute;
  14. top: 50px;
  15. left:74px;
  16. opacity: 1;
  17. font-size: 24px;
  18. }
  19.  
  20. </style>
  21. </head>
  22. <body>
  23. <div class="item">
  24. <a onclick="Favor(this)">赞1</a>
  25. </div>
  26. <div class="item">
  27. <a onclick="Favor(this)">赞2</a>
  28. </div>
  29. <div class="item">
  30. <a onclick="Favor(this)">赞3</a>
  31. </div>
  32. <div class="item">
  33. <a onclick="Favor(this)">赞4</a>
  34. </div>
  35. <script>
  36. function Favor(ths){
  37. console.log(ths);
  38. console.log(ths.parentElement);
  39. var top = 50;
  40. var left = 74;
  41. var op = 1;
  42. var fontSize = 24;
  43. var tag = document.createElement("span");
  44. tag.innerText = '+1';
  45. tag.style.position = 'absolute';
  46. tag.style.top = top +'px';
  47. tag.style.left = left +'px';
  48. tag.style.opacity = op;
  49. tag.style.fontSize = fontSize +'px';
  50. ths.parentElement.appendChild(tag);
  51.  
  52. // function ftime(){
  53. // top -= 10;
  54. // left += 10;
  55. // op -= 0.1;
  56. // fontSize += 10;
  57. //
  58. // tag.style.top = top +'px';
  59. // tag.style.left = left +'px';
  60. // tag.style.opacity = op;
  61. // tag.style.fontSize = fontSize +'px';
  62. //
  63. // if (op <= 0){
  64. // console.log("KKKK")
  65. //// clearInterval(interval);
  66. //// ths.parentElement.removeChild(tag);
  67. // }
  68. // }
  69. // setInterval('ftime()',50);
  70.  
  71. var interval = setInterval(function(){
  72. top -= 10;
  73. left += 10;
  74. op -= 0.1;
  75. fontSize += 10;
  76.  
  77. tag.style.top = top +'px';
  78. tag.style.left = left +'px';
  79. tag.style.opacity = op;
  80. tag.style.fontSize = fontSize +'px';
  81.  
  82. if (op <= 0){
  83. clearInterval(interval);
  84. ths.parentElement.removeChild(tag);
  85. }
  86. },50)
  87. }
  88. </script>
  89. </body>
  90. </html>

JS定时器一次执行:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <div id = "status" style="color:red"></div>
  9. <input type = "submit" onclick="DeleteStatus()" value="删除"/>
  10.  
  11. <script>
  12. function DeleteStatus(){
  13. var s = document.getElementById("status");
  14. s.innerText ="删除成功";
  15. setTimeout(function(){
  16. s.innerText = "";
  17. },5000)
  18. }
  19. </script>
  20. </body>
  21. </html>

JS之返回顶部

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <style>
  7. .back{
  8. position: fixed;
  9. right: 20px;
  10. bottom: 20px;
  11. }
  12.  
  13. .hide{
  14. display: none;
  15. }
  16. </style>
  17. </head>
  18. <body onscroll="BodyScroll()">
  19. <div style="height: 2000px;background-color: aquamarine" ></div>
  20. <div id="back" class="back hide" onclick="BackTop()" style="cursor: pointer;color: crimson">返回顶部</div>
  21. <script>
  22. function BackTop(){
  23. document.body.scrollTop = 0;
  24. }
  25.  
  26. function BodyScroll(){
  27. var s = document.body.scrollTop;
  28. var t = document.getElementById("back");
  29. if (s >= 100){
  30. t.classList.remove("hide");
  31. }else{
  32. t.classList.add("hide");
  33. }
  34. }
  35. </script>
  36. </body>
  37. </html>

Python 前端之JS的更多相关文章

  1. Python 前端 js基础

    Javascript 概述 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的 ...

  2. Python爬虫—破解JS加密的Cookie

    前言 在GitHub上维护了一个代理池的项目,代理来源是抓取一些免费的代理发布网站.上午有个小哥告诉我说有个代理抓取接口不能用了,返回状态521.抱着帮人解决问题的心态去跑了一遍代码.发现果真是这样. ...

  3. 前端05 /js基础

    前端05 /js基础 昨日内容回顾 css选择器的优先级 行内(1000) > id(100) > 类(10) > 标签(1) > 继承(0) 颜色 rgb(255,255,2 ...

  4. 如何用python抓取js生成的数据 - SegmentFault

    如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...

  5. 分享非常好用的前端分页js工具类 灵活 简单易懂

    分享自己封装的前端分页js工具类  下面是默认样式效果截图 可以随意更改js及css 很灵活 /** * pageSize, 每页显示数 * pageIndex, 当前页数 * pageCount 总 ...

  6. Web前端-Vue.js必备框架(五)

    Web前端-Vue.js必备框架(五) 页面组件,商品列表组件,详情组件,购物车清单组件,结算页组件,订单详情组件,订单列表组件. vue-router 路由 vuex 组件集中管理 webpack ...

  7. Web前端-Vue.js必备框架(四)

    Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...

  8. Web前端-Vue.js必备框架(三)

    Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...

  9. Web前端-Vue.js必备框架(二)

    Web前端-Vue.js必备框架(二) vue调式工具vue-devtools 过滤器:vue.js允许你自定义过滤器,可被用作一些常见的文本格式化. mustache插值和v-bind表达式. vu ...

随机推荐

  1. Toad快速入门

    Toad快速入门       在实际中,Toad的用户很少用到其强大的新特性,同时新用户的摸索式熟悉Toad往往花费更多的时间.为此,铸锐数码为每个新购买Toad客户,提供两人次的在线培训服务,帮助客 ...

  2. String和StringBuffer

    已知在Java中,boolean.byte.short.int.long.char.float.double这八种是基本数据类型,其余的都是引用类型,比如String.数组.接口.对象等. 当我们声明 ...

  3. mm/memory

    /* *  linux/mm/memory.c * *  Copyright (C) 1991, 1992  Linus Torvalds */ /* * demand-loading started ...

  4. 数据获取以及处理系统 --- 功能规格说明书V2.0

    产品规格说明书: 版本号: V2.0 版本说明: Version 1.0 简单得需求分析以及构思,初稿形成 Version 2.0 细化beta阶段设计,增加典型用户尝尽以及功能罗列 1. 引言 1. ...

  5. [NOIP2011] 计算系数(二项式定理)

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  6. poj3114 强连通+最短路

    题意:有 n 个城市,城市之间能够通过邮件或者电子邮件传递消息,已知 m 条邮件线路,每条线路代表 A 能送邮件到 B,并且花费 V 时间,如果几个城市之间能够相互邮件送达,那么他们就在同一个国家内, ...

  7. 论文笔记之: Hierarchical Convolutional Features for Visual Tracking

    Hierarchical Convolutional Features for Visual Tracking  ICCV 2015 摘要:跟卢湖川的那个文章一样,本文也是利用深度学习各个 layer ...

  8. [转]Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题

    Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题 来源:http://www.cnblogs.co ...

  9. HttpSession的线程安全问题及注意事项

    摘自http://blog.csdn.net/java2000_net/article/details/2922357 HttpSession session =  request.getSessio ...

  10. OAF_JDBC系列1 - 数据库交互取值方式(案例)

    2014-06-15 Created By BaoXinjian