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客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
Jan 31 Javascript
js里怎么取select标签里的值并修改
Dec 10 Javascript
JavaScript 中的日期和时间及表示标准介绍
Aug 21 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
Jun 16 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
Aug 08 Javascript
jQuery延迟执行的实现方法
Dec 21 Javascript
JS实现的ajax和同源策略(实例讲解)
Dec 01 Javascript
Vue3 源码导读(推荐)
Oct 14 Javascript
vue实现移动端拖动排序
Aug 21 Javascript
JavaScript中的执行环境和作用域链
Sep 04 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
很好用的PHP数据库类
2009/05/27 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
2014/06/12 PHP
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
react实现换肤功能的示例代码
2018/08/14 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
python 算法 排序实现快速排序
2012/06/05 Python
python 性能优化方法小结
2017/03/31 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
python 接口实现 供第三方调用的例子
2019/08/13 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
python搜索算法原理及实例讲解
2020/11/18 Python
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
护士自我鉴定怎么写
2014/02/07 职场文书
行政副总岗位职责
2014/02/23 职场文书
艺术学院毕业生自荐信
2014/07/05 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
社团招新宣传语
2015/07/13 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
浅谈Redis中的RDB快照
2021/06/29 Redis