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基于HTML5 canvas制作画箭头组件
Jun 25 Javascript
node.js中的fs.rmdir方法使用说明
Dec 16 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
Jul 22 Javascript
javascript replace()第二个参数为函数时的参数用法
Dec 26 Javascript
bootstrap表格分页实例讲解
Dec 30 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
Feb 15 Javascript
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
详解datagrid使用方法(重要)
Nov 06 Javascript
用javascript实现倒计时效果
Feb 09 Javascript
如何用Node.js编写内存效率高的应用程序
Apr 30 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实现ip白名单黑名单功能
2015/03/12 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
2016/05/04 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
php分享朋友圈的实现代码
2019/02/18 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
javascript常用方法汇总
2014/12/02 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
python字符串替换示例
2014/04/24 Python
Python性能提升之延迟初始化
2016/12/04 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
python实现双色球随机选号
2020/01/01 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
三星印度官网:Samsung印度
2019/08/03 全球购物
简历中的自我评价范文
2014/02/05 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
详细介绍python类及类的用法
2021/05/31 Python