JavaScript组件焦点与页内锚点间传值的方法


Posted in Javascript onFebruary 02, 2015

本文实例讲述了JavaScript组件焦点与页内锚点间传值的方法。分享给大家供大家参考。具体分析如下:

上述的这两个小功能在一些新式的手机页面是很有用的。

如何光标放上输入框就触发事件,离开输入框就触发另一个事件呢?即使用户不输入任何东西……

页间传值很简单,但在页内的锚点之间是如何传值呢?

一、基本目标

有一个页面,上面有一个输入框,一个超级链接,这两个东西是没有任何关联的,

只是因为功能不大,所以把两个功能合起来写

1、输入框功能

一旦把光标放上对话框背景就变成红色,一旦用户的鼠标点击其他地方则重新变为灰色的背景

JavaScript组件焦点与页内锚点间传值的方法

2、超级链接功能

向页面下方的bottom锚点通过get方法传递值text=1的值,bottom锚点下面有个已被禁用的输入框,不停在轮询地址栏上面的text参数

开始如果不点击,则没有text参数,所以输入框一直显示为null

一旦点击超级链接,下面的对话框在0.5秒之后,变为1,由于是毫秒级处理,所以用户的感觉是实时处理的,

JavaScript组件焦点与页内锚点间传值的方法

这个被disabled的上方还有一个back超级链接,清空页面的参数传递,再次把滚动条拉下来则又是显示为null。

请注意页内锚点间成功传值时,浏览器的url:

JavaScript组件焦点与页内锚点间传值的方法

二、制作过程

不用引入任何插件,直接开个html页面来写就可以了,请看下面的代码:

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

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  

<title>onfoucs</title>  

</head>  

  

<body>  

<!--定义个输入框,onfocus是获得焦点,一旦把光标放上输入框则马上触发getFocus()参数。onblur则是失去焦点,也onfocus刚好反过来。-->  

<p>  

<input type="text" onfocus="getFocus()"  onblur="loseFocus()"/>  

</p>  

  

<!--注意页内锚点传递参数的超级链接的语法,写用?接参数,再用#接锚点,多个参数则写成?texta=1&textb=2#bottom,用&链接-->  

<p>  

<a href="onfocus.html?text=1#bottom">锚点</a>  

</p>  

  

<!--这么多的li只是用来占行的~为了让大家看到锚点效果-->  

<li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>  

  

<!--此超级链接相当于后退按钮-->  

<p>  

<a id="bottom" href="javascript:history.go(-1);">back</a>  

</p>  

  

<!--我就是那个被禁用的对话框-->  

<p>  

<input type="text" id="pollingtext" disabled="disabled"/>  

</p>  

  

</body>  

</html>  

<script>  

    /*一开始先把页面的背景颜色换成#eeeeee*/  

    window.onload=function(){  

        document.bgColor="#eeeeee";  

        Polling();  

        }  

      

    /*当对话框获得焦点就把背景颜色改成红色,反之则重新改成#eeeeee*/     

    function getFocus(){  

        document.bgColor="#ff0000";  

    }  

      

    function loseFocus(){  

        document.bgColor="#eeeeee";  

    }  

      

    /*这是取url get传值时的参数的专用正则表达式*/  

    function getUrlParam(name) {  

        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");   

        var r = window.location.search.substr(1).match(reg);    

        if (r!=null) return unescape(r[2]); return null;   

    }  

      

    /*不停地轮询,检查是否有get参数传递过来了*/  

    function synchronous() {  

        document.getElementById("pollingtext").value =getUrlParam("text");  

    }  

      

    function Polling(){  

        synchronous();  

        setInterval("synchronous()", 500);  

    }  

</script>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JS中操作JSON总结
Dec 06 Javascript
JavaScript异步编程Promise模式的6个特性
Apr 03 Javascript
实例讲解JQuery中this和$(this)区别
Dec 08 Javascript
详解JavaScript中的自定义事件编写
May 10 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
JavaScript设计模式之策略模式详解
Jun 09 Javascript
Javascript实现找不同色块的游戏
Jul 17 Javascript
js 获取json数组里面数组的长度实例
Oct 31 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
Apr 27 Javascript
javascript实现移动端上传图片功能
Aug 18 Javascript
node使用async_hooks模块进行请求追踪
Jan 28 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 #Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 #Javascript
同一个网页中实现多个JavaScript特效的方法
Feb 02 #Javascript
JavaScript实现同步于本地时间的动态时间显示方法
Feb 02 #Javascript
JavaScript实现更改网页背景与字体颜色的方法
Feb 02 #Javascript
Javascript实现多彩雪花从天降散落效果的方法
Feb 02 #Javascript
jQuery及JS实现循环中暂停的方法
Feb 02 #Javascript
You might like
php格式化日期实例分析
2014/11/12 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php实现删除空目录的方法
2015/03/16 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
jQuery表单对象属性过滤选择器实例详解
2016/09/13 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
javascript添加前置0(补零)的几种方法
2017/01/05 Javascript
基于JavaScript实现前端数据多条件筛选功能
2020/08/19 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
python mysqldb连接数据库
2009/03/16 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
2017/12/21 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
python的mysql数据库建立表与插入数据操作示例
2019/09/30 Python
Django实现分页显示效果
2019/10/31 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
儿科主治医生个人求职信
2013/09/23 职场文书
毕业自我评价
2014/02/05 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
葬礼主持词
2015/07/02 职场文书
辩论赛新闻稿
2015/07/17 职场文书
干部考核工作总结
2015/08/12 职场文书
修改并编译golang源码的操作步骤
2021/07/25 Golang