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

📄 list.js

📁 java 写的一个新闻发布系统
💻 JS
字号:
/*   DynAPI Distribution   List Class   The DynAPI Distribution is distributed under the terms of the GNU LGPL license.   Requirements:	dynapi.api [dynlayer, dyndocument, browser, events]	dynapi.gui [label]*/function ListItem(text,value){	this.Label = Label;	this.Label(text);	this.value = value;	this.setSelectable(false);	this.deselectable = true;	this.isMouseOver = false;	this.selected = false;	this.itemStyle = {};	this.itemStyle.bos=false;	this.itemStyle.ios=false;	this.addEventListener(ListItem.listevents);}ListItem.prototype = new Label();ListItem.listevents = new EventListener();ListItem.listevents.oncreate = function(e) {	var o = e.getSource();	if (o.list.created) o.list.arrangeItems();};ListItem.listevents.onmousedown = function (e) {	var o = e.getSource();	o.setSelected(!o.selected);};ListItem.listevents.onmouseover = function (e) {	var o = e.getSource();	if (!o.selected && !o.isMouseOver) {		o.setBgColor(o.itemStyle.bgColorRoll);		o.setFontColor(o.itemStyle.textRoll);		for (var i=0;i<o.list.items.length;i++) {			if (o.list.items[i]!=o && !o.list.items[i].selected && o.list.items[i].isMouseOver) {				o.list.items[i].setBgColor(o.list.items[i].itemStyle.bgcolor);				o.list.items[i].setFontColor(o.list.items[i].itemStyle.textNormal);				o.list.items[i].isMouseOver = false;			}		}	}	o.isMouseOver = true;};ListItem.listevents.onmouseout = function (e) {	var o = e.getSource();	if (!o.selected && o.isMouseOver) {		o.setBgColor(o.itemStyle.bgcolor);		o.setFontColor(o.itemStyle.textNormal);	}	o.isMouseOver = false;};ListItem.prototype.setColors = function(bg,bgr,bgs,tn,tr,ts) {    var s = this.itemStyle;	s.bgcolor = bg||'#eeeeee';	s.bgColorRoll = bgr||'#cccccc';	s.bgColorSelect = bgs||'lightblue';	s.textNormal = tn||'#000000';	s.textRoll = tr||'#000000';	s.textSelect = ts||'#000000';	this.setBgColor(s.bgcolor);};ListItem.prototype.boldOnSelect = function(b) {	this.itemStyle.bos=b;};ListItem.prototype.italicOnSelect = function(b) {	this.itemStyle.ios=b;};ListItem.prototype.setSelected = function(b) {	if (this.selected==b || !this.deselectable) return;	this.selected=b;	if (this.itemStyle.bos) this.setFontBold(b,false);	if (this.itemStyle.ios) this.setFontItalic(b,false);	if (b) {		this.setBgColor(this.itemStyle.bgColorSelect);		this.setFontColor(this.itemStyle.textSelect);		this.invokeEvent("select");	}	else {		this.setBgColor(this.isMouseOver?this.itemStyle.bgColorRoll:this.itemStyle.bgcolor)		this.setFontColor(this.itemStyle.textNormal);		this.invokeEvent("deselect");	}}ListItem.prototype.setValue = function(value) {	this.value=value;};ListItem.prototype.getValue = function() {	return this.value;};function List(){	this.DynLayer=DynLayer;	this.DynLayer();	this.multiMode = false;	this.items = [];	this.addEventListener(List.listener);	this.ievents = new EventListener(this);	this.ievents.onselect = function(e){		e.getTarget().select(e.getSource());	};	this.ievents.ondeselect = function(e){  		e.getTarget().deselect(e.getSource());	};	/*default style*/	this.listStyle = {};	this.listStyle.borders = 1;	this.listStyle.spacing = 1;	this.listStyle.padding = 4;	this.listStyle.bos = false;	this.listStyle.ios = false;	this.listStyle.bg = "#eeeeee";	this.listStyle.bgRoll = "#cccccc";	this.listStyle.bgSelect = "lightblue";	this.listStyle.textNormal = this.listStyle.textRoll = this.listStyle.textSelect = "#000000";	this.totalHeight = this.listStyle.borders;}List.prototype = new DynLayer();List.prototype.add = function(text,value){	var i = new ListItem(text,value);	i.list = this;	var ls = this.listStyle;	i.setColors(ls.bg,ls.bgRoll,ls.bgSelect,ls.textNormal,ls.textRoll,ls.textSelect);	if (ls.bos) i.boldOnSelect(true,false);	if (ls.ios) i.italicOnSelect(true,false);	i.setPadding(ls.padding);	i.addEventListener(this.ievents);	this.items[this.items.length] = i;	this.addChild(i);};List.prototype.arrangeItems = function(){	this.totalHeight = this.listStyle.borders;	for (var i=0;i<this.items.length;i++){		this.items[i].moveTo(this.listStyle.borders,this.totalHeight);		this.items[i].setWidth(this.w-this.listStyle.borders*2);		this.totalHeight = this.totalHeight+this.items[i].h+this.listStyle.spacing;		}	this.setHeight(this.totalHeight-this.listStyle.spacing+this.listStyle.borders);};List.prototype.remove = function(item){	var i = this.getIndexOf(item);	if (i==-1) return;	this.items[i].deleteFromParent();	Methods.removeFromArray(this.items,item);	if (this.selectedIndex==i){		this.selectedIndex=-1;		this.selectedItem=null;	}	this.arrangeItems();};List.prototype.origSetWidth = DynLayer.prototype.setWidth;List.prototype.setWidth = function(w){	this.origSetWidth(w);	for (var i=0;i<this.items.length;i++){		this.items[i].setWidth(w-this.listStyle.borders*2);	}};List.listener = new EventListener()List.listener.oncreate = function(e){    var o = e.getSource();	o.arrangeItems();};List.prototype.getIndexOf = function(item){	for (var i=0;i<this.items.length;i++){		if (this.items[i]==item) return i;	}	return -1;};List.prototype.select = function(item){	this.selectedIndex = this.getIndexOf(item);	this.selectedItem = item;	if (this.multiMode) return;	for (var i=0;i<this.items.length;i++){		if (this.items[i] != item) this.items[i].setSelected(false);	}	this.invokeEvent("select");};List.prototype.deselect = function(item){	if (this.selectedItem == item){		this.selectedItem = null;		this.selectedIndex = -1;	}};List.prototype.deselectAll = function(){	for (var i=0;i<this.items.length;i++) {		if (this.items[i].selected) this.items[i].setSelected(false);	}};	List.prototype.setSelectionMode = function(mode) {	this.deselectAll();	this.multiMode = mode;};List.prototype.setColors = function(bg,bgRoll,bgSelect,textNormal,textRoll,textSelect){    var ls = this.listStyle;	ls.bg = bg||ls.bg;	ls.bgRoll = bgRoll||ls.bgRoll;	ls.bgSelect = bgSelect||ls.bgSelect;	ls.textNormal = textNormal||ls.textNormal;	ls.textRoll = textRoll||ls.textRoll;	ls.textSelect = textSelect||ls.textSelect;	if (this.items.length == 0) return;	for (var i=0;i<this.items.length;i++) {		this.items[i].setColors(bg,bgRoll,bgSelect,textNormal,textRoll,textSelect);	}};List.prototype.boldOnSelect = function(b) {	this.listStyle.bos = b;};List.prototype.italicOnSelect = function(b) {	this.listStyle.ios = b;};List.prototype.getSelectedIndex = function() {    return this.selectedIndex;};List.prototype.getSelectedItem = function() {	return this.selectedItem;};List.prototype.getSelectedIndexes = function() {	var a = [];	for (var i=0;i<this.items.length;i++) if (this.items[i].selected) a[a.length] = i;	return a;};List.prototype.setBorders = function(b){	this.listStyle.borders = b;	if (this.created) this.arrangeItems();};List.prototype.setSpacing = function(b){	this.listStyle.spacing = b;	if (this.created) this.arrangeItems();};

⌨️ 快捷键说明

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