JavaScript组件焦点与页内锚点间传值的方法_javascript技巧

本文实例讲述了JavaScript组件焦点与页内锚点间传值的方法。分享给大家供大家参考。具体分析如下:

上述的这两个小功能在一些新式的手机页面是很有用的。

如何光标放上输入框就触发事件,离开输入框就触发另一个事件呢?即使用户不输入任何东西……

页间传值很简单,但在页内的锚点之间是如何传值呢?

一、基本目标

有一个页面,上面有一个输入框,一个超级链接,这两个东西是没有任何关联的,

只是因为功能不大,所以把两个功能合起来写

1、输入框功能

一旦把光标放上对话框背景就变成红色,一旦用户的鼠标点击其他地方则重新变为灰色的背景

2、超级链接功能

向页面下方的bottom锚点通过get方法传递值text=1的值,bottom锚点下面有个已被禁用的输入框,不停在轮询地址栏上面的text参数

开始如果不点击,则没有text参数,所以输入框一直显示为null

一旦点击超级链接,下面的对话框在0.5秒之后,变为1,由于是毫秒级处理,所以用户的感觉是实时处理的,

这个被disabled的上方还有一个back超级链接,清空页面的参数传递,再次把滚动条拉下来则又是显示为null。

请注意页内锚点间成功传值时,浏览器的url:

二、制作过程

不用引入任何插件,直接开个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程序设计有所帮助。

时间: 2025-01-06 09:44:21

JavaScript组件焦点与页内锚点间传值的方法_javascript技巧的相关文章

JavaScript实现向OL列表内动态添加LI元素的方法_javascript技巧

本文实例讲述了JavaScript实现向OL列表内动态添加LI元素的方法.分享给大家供大家参考.具体分析如下: JavaScript向OL列表内动态添加LI元素的方法,下面JS代码每次点击按钮都会想OL列表中动态添加一个LI <script type="text/javascript"> function addItem() { var myitem = document.getElementById("ItemToAdd").value; var my

JavaScript实现在页面间传值的方法_javascript技巧

本文实例讲述了JavaScript实现在页面间传值的方法.分享给大家供大家参考.具体如下: 问题如下: 在 a.html 页面中,<form> 的 onsubmit 事件调用一个方法 foo( ),打开 b.html 页面的同时给 b.html 传递参数.方法 foo( ) 中需要传递变量参数到 b.html 页面,在 b.html 页面接受参数值,但不能使用服务器端技术. 解决代码如下: a.html页面如下: <html> <head> <title>

保证JavaScript和Asp、Php等后端程序间传值编码统一_javascript技巧

在非英文字符集的页面上,如果使用Ajax方式进行数据交互的话,就必须要注意保证前后端数据的统一编码,否则,很容易就出现乱码! 在后端是ASP程序的情况下,保持前端Javascript和Asp之间传值的统一编码可以使用以下函数进行处理: 编码:escape(string) 解码:unescape(string) 这两个函数在JavaScript和Asp里都存在,而且功能完全一样,只要任何一端向另一端传数据,都先用escape进行编码,接收的一端用unescape进行解码即可保证Javascript

Javascript中prototype属性实现给内置对象添加新的方法_javascript技巧

本文实例讲述了Javascript中prototype属性实现给内置对象添加新的方法.分享给大家供大家参考.具体实现方法如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>prototype

javascript文本框内输入文字倒计数的方法_javascript技巧

本文实例讲述了javascript文本框内输入文字倒计数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <title>文本框内输入文字倒计数效果</title> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin maxLen = 100; //定义用户可以输入的最多字数 function checkMaxInput(obj) { if

JavaScript实现同一页面内两个表单互相传值的方法_javascript技巧

本文实例讲述了JavaScript实现同一页面内两个表单互相传值的方法.分享给大家供大家参考.具体如下: 有时候我们在提交表单的时候需要将两个表单的值互相传递,那么如何实现呢?其实很简单,就是用JavaScrip获取任一表单的值,然后赋给另一个,具体可看代码,代码很有意思,也很实用. 运行效果截图如下: 具体代码如下: <html> <head> <title>JavaScript同一页面两个表单互相传值</title> <meta http-equi

JS实现在线统计一个页面内鼠标点击次数的方法_javascript技巧

本文实例讲述了JS实现在线统计一个页面内鼠标点击次数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!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/x

JavaScript实现为input与textarea自定义hover,focus效果的方法_javascript技巧

本文实例讲述了JavaScript实现为input与textarea自定义hover,focus效果的方法.分享给大家供大家参考.具体如下: 这里演示JavaScript为input输入框和textarea文本框自定义hover,focus效果,hover也就是鼠标放上去之后的效果,focus是鼠标焦点问题,要实现 这种效果,需要JS来配合,这个例子就是很不错的,它把网页上输入框和文本框都加入了鼠标悬停和鼠标焦点效果. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.n

javascript为按钮注册回车事件(设置默认按钮)的方法_javascript技巧

本文实例讲述了javascript为按钮注册回车事件(设置默认按钮)的方法.分享给大家供大家参考.具体如下: 首先不得不说,在JS方面,自己真的是个不折不扣的菜鸟.对于JS以及一些JS框架如JQuery等JS框架,自己也只是处在简单应用的阶段,当然自己也在不断的学习当中,希望将来能跟大家分享更多JS方面的心得.今天先来点开胃的,说一下如何设置一个默认按钮,就是不管焦点在不在按钮上,只要按下回车,就等于触发了按钮的单击事件. 代码非常简单,要完成这个功能,只需几行代码: //为keyListene