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 相关文章推荐
jquery封装的对话框简单实现
Jul 21 Javascript
不同Jquery版本引发的问题解决
Oct 14 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
Aug 04 Javascript
浅析Javascript ES6中的原生Promise
Aug 25 Javascript
Dropzone.js实现文件拖拽上传功能(附源码下载)
Nov 22 Javascript
Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
Mar 27 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
Apr 25 Javascript
vue实现自定义H5视频播放器的方法步骤
Jul 01 Javascript
小程序中canvas的drawImage方法参数使用详解
Jul 04 Javascript
JS异步宏队列微队列原理详解
Sep 09 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 mysql PDO 查询操作的实例详解
2017/09/23 PHP
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
分享bootstrap学习笔记心得(组件及其属性)
2017/01/11 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
python实现去除下载电影和电视剧文件名中的多余字符的方法
2014/09/23 Python
Python二维码生成库qrcode安装和使用示例
2014/12/16 Python
Python ftp上传文件
2016/02/13 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
python 实现登录网页的操作方法
2018/05/11 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
详解基于 Canvas 手撸一个六边形能力图
2019/09/02 HTML / CSS
社区庆八一活动方案
2014/02/02 职场文书
幼儿园庆六一活动方案
2014/03/06 职场文书
毕业设计说明书
2014/05/07 职场文书
医院节能减排方案
2014/06/13 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
安全例会汇报材料
2014/08/23 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
2014年工程工作总结
2014/11/25 职场文书