⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynamiccombo.js

📁 一个页面界面的邮件程序
💻 JS
字号:
/* * GContact / PAUL Grégory * * This file manages dynamics list (like google suggest) used for contact type and address title. */var dynamicList;var dynamicInput;var dynamicNextInput;/* * Handler wich manage the dynamic combo list for contact types or address titles. * * @param Javascript event * @param 'ct' for contact, 'addr' for address * @param input type containing the type value * @param id number of the contact / address */function updateCombo(e, kind, input, id) {	if (!e) var e = window.event;	var idListToSearch = ((kind == 'ct') ? "ctTypeList" : "addrTitleList")  + ((id) ? id : '');	var idValueToSearch = ((kind == 'ct') ? "ctValue" : "addrStreet")  + ((id) ? id : '');	var listFeeder = ((kind == 'ct') ? typesAvailable : AddrTitlesAvailable);	dynamicList = document.getElementById(idListToSearch), nbItem = 0;	dynamicInput = input;	dynamicNextInput = document.getElementById(idValueToSearch);	if (e.keyCode == 38) {		// Up Arrow		if (dynamicList.selectedIndex > 0)			dynamicList.selectedIndex--;	} else if (e.keyCode == 40) {		// Down Arrow		if (dynamicList.selectedIndex < dynamicList.options.length-1)			dynamicList.selectedIndex++;	} else if (e.keyCode == 13 && dynamicList.style.display == 'block') {		// Enter		input.value = dynamicList.options[dynamicList.selectedIndex].text		dynamicList.options.length = 0;		dynamicList.style.display = 'none';		if (dynamicNextInput) dynamicNextInput.focus();	} else {			// Something else : feeding the list				dynamicList.options.length = 0;		for (var i = 0; i < listFeeder.length; i++) {			if (inStr(input.value,listFeeder[i])) {				dynamicList.options[nbItem] = (new Option(listFeeder[i], nbItem));				if (nbItem == 0) dynamicList.selectedIndex = nbItem;				nbItem++;			}		}		dynamicList.size = nbItem;		dynamicList.style.display = (nbItem > 0) ? 'block' : 'none';					dynamicList.onclick = clickOnList;	}	return true;}/* * Trap the mouse click in the list * @param event */function clickOnList(event) {	if (dynamicList && dynamicInput) {		dynamicInput.value = dynamicList.options[dynamicList.selectedIndex].text		dynamicList.options.length = 0;		dynamicList.style.display = 'none';		if (dynamicNextInput) dynamicNextInput.focus();	}	dynamicList = dynamicInput = dynamicNextInput = null;	return true;}/* * Handler for a new field (whithout an id) * @param Javascript event * @param 'ct' for contact, 'addr' for address * @param input type containing the type value */function updateComboWithoutId(e, kind, input) {	return updateCombo(e, kind, input, '');}/* * Clean and hide the dynamic list */function cleanList(e) {	if (dynamicList != null) {		dynamicList.options.length = 0;		dynamicList.style.display = 'none';	}	dynamicList = dynamicInput = dynamicNextInput = null;		return true;}/* * Look for str1 in str2 */function inStr(str1, str2) {	if (str1.length == 0)		return true;	else {		for(var i = 0; i < str1.length && i < str2.length; i++) {			if (str1.charAt(i) != str2.charAt(i))				return false;		}		if (str1.length > str2.length)			return false;		return true;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -