【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>
时间: 2024-11-08 03:29:33

【JavaScript】组件焦点与页内锚点间传值的相关文章

Windows Store App JavaScript 开发:页内导航

页内导航是在一个页面内根据需要加载其他页面的内容,在开发基于JavaScript的Windows应用商店应用时,可以使用WinJS.Navigation.navigate函数传递要加载的页面地址并使用PageControlNavigator控件加载其他页面的内容.WinJS.Navigation.navigate函数以一个包含页面地址的对象为参数,在该函数执行时将触发WinJS.Navigation.onnavigated事件并把页面地址传递给该事件.PageControlNavigator控件

Win10系列:JavaScript页内导航

页内导航是在一个页面内根据需要加载其他页面的内容,在开发基于JavaScript的Windows应用商店应用时,可以使用WinJS.Navigation.navigate函数传递要加载的页面地址并使用PageControlNavigator控件加载其他页面的内容.WinJS.Navigation.navigate函数以一个包含页面地址的对象为参数,在该函数执行时将触发WinJS.Navigation.onnavigated事件并把页面地址传递给该事件.PageControlNavigator控件

bootscript/javascript组件

javascript组件 (1)每一个插件(带有js功能的组件),想使用bootstrap插件,一个是要去写他的html,第二个是使用CSS去修饰它,再引入相应的js文件. bootstrap框架里的轮播图,他有自己的js文件. JavaScript 插件可以单个引入(使用 Bootstrap 提供的单个 *.js 文件),或者一次性全部引入(使用 bootstrap.js 或压缩版的 bootstrap.min.js). 建议使用压缩版的 JavaScript 文件 bootstrap.js

页内跳转到指定位置-有过渡动画

一般页内跳转,像:锚点,scrollTo,location.hash正常情况下都是直接跳转的,没有动画,如果我们想要添加动画,就需要采取优化或其他办法.不多说,看下面. 今天用了三种方法,分别是scrollTo.自定义function和jQuery链式的方法,个人推荐第一种,因为非常简单,后续如果还有,会继续补充. window.scrollTo中可以配置过渡效果,它本身是瞬间跳转到某一位置(即behavior:'instant'),只需要在他的对象中配置behavior:'smooth'就可以

jQuery实现页面内锚点平滑跳转

平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以设置滚动速度,又可以在 url 链接上没有“小尾巴”. 效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/37.htm HTML文件代码: <!DOCTYPE html> <html> <head> <meta charset=

Bootstrap历练实例:标签页内的下拉菜单

<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Bootstrap历练实例:标签页内的下拉菜单</title> <meta charset="utf-8" /> <meta name="vie

javascript组件开发之基类继承实现

上一篇文章大概的介绍了一下关于javascript组件的开发方式,这篇文章主要详细记一下基类的编写,这个基类主要是实现继承的功能 为什么要封装基类? 由于这次重构项目需要对各种组件进行封装,并且这些组件的实现方式都差不多,为了便于管理,让代码尽量统一,所以到对组件封装一个base基类(javascript没有类的概念,暂且这样叫吧),关于javascript的oo实现:可以参考这篇文章javascript oo实现:写得很赞,膜拜,我改写的这个基于John Resig的实现方式. 基类的封装方式

试试用有限状态机的思路来定义javascript组件

本文是一篇学习性的文章,学习利用有限状态机的思想来定义javascript组件的方法,欢迎阅读,后续计划会写几篇专门介绍自己利用有限状态机帮助自己编写组件的博客,证明这种思路对于编程实现的价值,目前正在积极构思中.本文代码下载 1. 有限状态机概述 简单说,有限状态机是一种模型,模型都用来模拟事物,能够被有限状态机这种模型模拟的事物,一般都有以下特点: 1)可以用状态来描述事物,并且任一时刻,事物总是处于一种状态: 2)事物拥有的状态总数是有限的: 3)通过触发事物的某些行为,可以导致事物从一种

jwplayer播放器停止 单页内多个jwplayer对象停止问题

单页内多个jwplayer对象停止问题,一直没有找到单页内多个jwplayer播放器停止问题,点击其中一个停止其他播放器; 整个播放代码Remove(),这样就可以停止了,也在ie下防止暂停不了.重音的情况, html部分(我的是循环) <ul> <li class="span_01 spanBgA" onclick="PlayVideo($(‘#hiddFile_18’).val(), $(‘#hiddID_18’).val(), $(‘#hiddVide