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 removeChild 使用注意事项
Apr 11 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
Apr 01 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
Javascript中封装window.open解决不兼容问题
Sep 28 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 Javascript
jQuery表单验证之密码确认
May 22 jQuery
详解为生产环境编译Angular2应用的方法
Dec 10 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
解决Nuxt使用axios跨域问题
Jul 06 Javascript
小程序实现列表展开收起效果
Jul 29 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
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 魔术函数使用说明
2010/05/14 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
JS实现黑色风格的网页TAB选项卡效果代码
2015/10/09 Javascript
Javascript中的arguments对象
2016/06/20 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
vue+vue-router转场动画的实例代码
2018/09/01 Javascript
React 全自动数据表格组件——BodeGrid的实现思路
2019/06/12 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
Python isinstance函数介绍
2015/04/14 Python
python用户管理系统的实例讲解
2017/12/23 Python
Python闭包之返回函数的函数用法示例
2018/01/27 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
pycharm配置git(图文教程)
2019/08/16 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
Django serializer优化类视图的实现示例
2020/07/16 Python
Python Merge函数原理及用法解析
2020/09/16 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
运动会广播稿50字
2014/01/26 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技