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的超简单上下翻
Apr 20 Javascript
js 动态文字滚动的例子
Jan 17 Javascript
js自定义事件及事件交互原理概述(一)
Feb 01 Javascript
JavaScript对象和字串之间的转换实例探讨
Apr 21 Javascript
js实现简单折叠、展开菜单的方法
Aug 28 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
Jan 04 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
angularjs 表单密码验证自定义指令实现代码
Oct 27 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
解决Layui数据表格的宽高问题
Sep 28 Javascript
JavaScript实现前端网页版倒计时
Mar 24 Javascript
JavaScript实现显示和隐藏图片
Apr 29 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抓即时股票信息
2006/10/09 PHP
php中随机显示图片的函数代码
2011/06/23 PHP
php牛逼的面试题分享
2013/01/18 PHP
PHP中copy on write写时复制机制介绍
2014/05/13 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
php链式操作的实现方式分析
2019/08/12 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
Python捕捉和模拟鼠标事件的方法
2015/06/03 Python
python交互式图形编程实例(三)
2017/11/17 Python
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
详解python-图像处理(映射变换)
2019/03/22 Python
Python + Flask 实现简单的验证码系统
2019/10/01 Python
Python3常见函数range()用法详解
2019/12/30 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
聚美优品恶搞广告词
2014/03/14 职场文书
食品销售计划书
2014/04/26 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
平安家庭事迹材料
2014/12/20 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
欠条范文
2015/07/03 职场文书
《开国大典》教学反思
2016/02/16 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python