因此可以根据这个原理做出一些效果,例如

<html>
    <head>
        <meta charset="utf-8" />
        <style>
            div{
              width:100px;
              height:100px;
              border:1px solid red;
            }
        </style>
        <script src="jquery.min.js"></script>
        <script>
            $(
                function ()
                {
                 var v = false;
                    //jQuery 当鼠标点击了按钮之后执行了click里面的全部代码
                    $("button[onclick^=Me]").click(
                        function ()
                        {
                            
                            if ( v == false )
                            {
                                $("div#fuck").html("我是假的");
                                v = true;
                            }
                            else
                            {
                                $("div#fuck").html("我是真的");
                                v = false;
                            }
                            
                        }
                    
                    );
                }
            );
        </script>
<head>

</head>
    <body>
        
            <button onclick="Message();return false;">点我查看</button>
            <div id="fuck"></div>
    </body>
</html>

上面的文本会相互替换 我是真的我是假的。如果var v = false; 写在了click里面,那么每次点击按钮执行click事件里面方法的时候,这个变量都会变成 false

因此必须写在外面。

单纯的j代码中也是一样。虽然在不刷新的情况下页面中的变量值是不会发生变化的,但是函数里的代码是要被重复执行的。

下面的js代码页说明了这问题

<html>
    <head>
        <meta charset="utf-8" />
        <style>
            div{
              width:100px;
              height:100px;
              border:1px solid red;
            }
        </style>
        
        <script>
            var v = false;

function Message()
            {
                if ( v == false )
                {
                    alert("我是假的");
                    v = true;
                }
                else
                {
                    alert("我是真的");
                    v = false;
                }
            }
        </script>
<head>

</head>
    <body>
        
            <button onclick="Message();return false;">点我查看</button>
            <div id="fuck"></div>
    </body>
</html>

页可以进行文本的替换。读者在实践中便会明白。js变量的生存周期是在页面加载完成到再次刷新之前的这一整个时间内。

javascript 在页面不刷新的情况下 其中的变量时不会被初始化的的更多相关文章

  1. 仿联想商城laravel实战---3、前端页面搭建(什么情况下需要路由接参数)

    仿联想商城laravel实战---3.前端页面搭建(什么情况下需要路由接参数) 一.总结 一句话总结: 比如访问课程的时候,不同的课程(比如云知梦),比如访问不同的商品,比如访问不同的分类 //商品详 ...

  2. JavaScript实现页面无刷新让时间走动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. 四、angularjs 如何在页面没有登录的情况下阻止用户通过更改url进入页面--$stateChangeStart

    有时候用户没有登录或者在某些情况下你是不希望用户进入页面,但是angular的路由机制可以让用户直接通过更改Url进入页面,如何处理这一问题呢? ——监控路由转换机制 $stateChangeStar ...

  4. jQuery使用ajaxSubmit()提交表单(在不希望页面跳转的情况下)

    原文:http://www.jb51.net/article/48728.htm ajaxSubmit(obj)方法是jQuery的一个插件jquery.form.js里面的方法,所以使用此方法需要先 ...

  5. 标签button:点击button按钮时,出现了页面自动刷新的情况

    原html: <button class="btn btn-primary" id="btnSubmit" name="btnSubmit&qu ...

  6. 通过JavaScript让页面只刷新一次

    1.充分利用地址栏可带参数的选项,用脚本来取得页面间的传递参数,并不需要后台程序的支持. 2.函数名 function reurl(){ url = location.href; //把当前页面的地址 ...

  7. 关于页面中css某些情况下出现不知原因的隔断解决办法

    第一种方法:body{margin:0px;padding:0px position:absolute; top:0px;left:0px;} html{ width:100%; overflow-x ...

  8. iOS Autolayout情况下,ViewController嵌套时,childViewController的Frame异常问题

    近期项目中,使用Storyboard.AutoLayout开发,某个ViewController中嵌套了多个子ViewController,结果在将其加入到父ViewController时,出现坐标异 ...

  9. windows下配置环境变量时,在cmd窗口执行配置的命令时无效的原因

    一个原因肯定就是配置错误,这个就要自己仔细去检查了,如果确信配置正确,可能是你的cmd窗口在环境变量配置之前就打开的,在配置好环境变量之后,在cmd窗口执行命令是看不到效果的,可以关掉cmd窗口再重新 ...

随机推荐

  1. NLP直播-1 词向量与ELMo模型

    翻车2次,试水2次,今天在B站终于成功直播了. 人气11万. 主要讲了语言模型.词向量的训练.ELMo模型(深度.双向的LSTM模型) 预训练与词向量 词向量的常见训练方法 深度学习与层次表示 LST ...

  2. 洛谷 P3009 [USACO11JAN]利润Profits

    嗯... 题目链接:https://www.luogu.org/problemnew/show/P3009 这是DP的另一个功能,求最大子段和(最大子段和模板:https://www.luogu.or ...

  3. Python基础入门语法1

    PY的交换值的方法 x.y = y.x PY既具有动态脚本的特性,又有面向对象的特性 PY的缺点: 编译型的语言(C++,C):通过编译器进行编译成机器码,越接近底层,开发效率低 解释型代码:PY和J ...

  4. [运维] 请求 nginx 出现 502 Bad Gateway 的解决方案!

    环境: 云服务器镜像 Linux CentOS 7.6 已经安装并成功配置 SSL 的 nginx 1.16.1 成功安装并且可以正常运行的 apache-tomcat-9.0.26 遇到的问题: 在 ...

  5. springboot集成过滤器

    封装自定义接口filter 包含两个方法,第一个过滤的路径数组,第二个为过滤器执行的顺序.spring boot 会按照order值的大小,从小到大的顺序来依次过滤. package com.thee ...

  6. MySQL 之单表查询

    数据库数据: # (1) 创建数据表 create table employee( id int primary key auto_increment, emp_name char(12) not n ...

  7. vue element 表单多个验证时,滚动到验证提示的位置

    最近项目有个下单的过程,需要输入很多信息,每次提交都要往下滑,还要去验证,测试后发现体验也不好,element框架也没提供这种滚动方法, 不过提供了一个验证的方法 validate (两个参数:是否校 ...

  8. requests库 cookie和session

    cookie 如果一个相应中包含了cookie,那么可以利用cookie属性拿到这个返回的cookie值: res = requests.get('http://www.baidu.com') pri ...

  9. 二十 Struts2的标签库,数据回显(基于值栈)

    通用标签库 判断标签:<s:if>.<s:elseif>.<s:else> 循环标签:<s:iterator> 其他常用标签: <s:proper ...

  10. 吴裕雄--天生自然ORACLE数据库学习笔记:常用SQL*Plus命令

    set pause on set pause '按<enter>键继续' select user_id,username,account_status from dba_users; sh ...