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 提升运行速度之循环篇 译文
Aug 15 Javascript
javascript 自动填写表单的实现方法
Apr 09 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
May 07 Javascript
初识Javascript小结
Jul 16 Javascript
jQuery带时间的日期控件代码分享
Aug 26 Javascript
浅谈js中的延迟执行和定时执行
May 31 Javascript
JS实现简单的天数计算器完整实例
Apr 28 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
vue-cli构建项目下使用微信分享功能
May 28 Javascript
vue实现底部菜单功能
Jul 24 Javascript
Vue基本使用之对象提供的属性功能
Apr 30 Javascript
Vue解析剪切板图片并实现发送功能
Feb 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+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
对Angular.js Controller如何进行单元测试
2016/10/25 Javascript
AngularJS全局scope与Isolate scope通信用法示例
2016/11/22 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
layui 实现表格某一列显示图标
2019/09/19 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
python中实现延时回调普通函数示例代码
2017/09/08 Python
Flask之flask-session的具体使用
2018/07/26 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
python中spy++的使用超详细教程
2021/01/29 Python
台湾良兴购物网:EcLife
2019/12/01 全球购物
拾金不昧表扬信范文
2014/01/11 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
2014年党课学习材料
2014/05/11 职场文书
消防安全宣传标语
2014/06/07 职场文书
个人委托书范本
2014/09/13 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
员工规章制度范本
2015/08/07 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server