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 相关文章推荐
Javascript 网页水印(非图片水印)实现代码
Mar 01 Javascript
js中判断文本框是否为空的两种方法
Jul 31 Javascript
jquery中子元素和后代元素的区别示例介绍
Apr 02 Javascript
10条建议帮助你创建更好的jQuery插件
May 18 Javascript
一道关于JavaScript变量作用域的面试题
Mar 08 Javascript
Bootstrap表格和栅格分页实例详解
May 20 Javascript
jquery 实现回车登录详解及实例代码
Oct 23 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
JS+HTML+CSS实现轮播效果
Nov 28 Javascript
npm配置国内镜像资源+淘宝镜像的方法
Sep 07 Javascript
深入理解react 组件类型及使用场景
Mar 07 Javascript
详解基于element的区间选择组件校验(交易金额)
Jan 07 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
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
Javascript insertAfter() 实现函数代码
2011/10/12 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
react-native动态切换tab组件的方法
2018/07/07 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
使用python 获取进程pid号的方法
2014/03/10 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
python爬虫headers设置后无效的解决方法
2017/10/21 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
python实现简单学生信息管理系统
2020/04/09 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
《我要的是葫芦》教学反思
2014/02/23 职场文书
小学毕业感言500字
2014/02/28 职场文书
农林环境专业求职信
2014/03/13 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
给小学生的新年寄语
2014/04/04 职场文书
房地产开发项目建议书
2014/05/16 职场文书
秋季校运会广播稿100字
2014/09/18 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
北京青年观后感
2015/06/15 职场文书
创业计划书之物流运送
2019/09/17 职场文书