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

📄 yahoosearch.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
字号:
dojo.require("dojo.io.script")dojo.require("dojox.rpc.Service");// model that works with Yahoo Search APIdojo.declare("dojox.grid.data.yahooSearch", dojox.grid.data.Dynamic, {	constructor: function(inFields, inData, inSearchNode){		this.rowsPerPage = 20;		this.searchNode = inSearchNode;		this.fieldNames = dojo.map(inFields, "return item.name;");		this.yahoo = new dojox.rpc.Service(			dojo.moduleUrl("dojox.rpc.SMDLibrary", "yahoo.smd")		);	},	// server send / receive	send: function(inAsync, inParams, inOnReceive, inOnError){		var d = this.yahoo.imageSearch(			dojo.mixin({ 				results: this.rowsPerPage,				query: this.getQuery()			}, inParams)		);		d.addCallbacks(			dojo.hitch(this, "receive", inOnReceive, inOnError), 			dojo.hitch(this, "error", inOnError)		);		this.onSend(inParams);		return d;	},	receive: function(inOnReceive, inOnError, inData){		try{			inData = inData.ResultSet;			inOnReceive(inData);			this.onReceive(inData);		}catch(e){			if(inOnError){				inOnError(inData);			}		}	},	error: function(inOnError, inErr) {		var m = 'io error: ' + inErr.message;		alert(m);		if (inOnError)			inOnError(m);	},	encodeParam: function(inName, inValue) {		return dojo.string.substitute('&${0}=${1}', [inName, inValue]);	},	getQuery: function(){		return dojo.byId(this.searchNode).value.replace(/ /g, '+');	},	fetchRowCount: function(inCallback){		this.send(true, inCallback);	},	// request data 	requestRows: function(inRowIndex, inCount){		inRowIndex = (inRowIndex == undefined ? 0 : inRowIndex);		var params = { 			start: inRowIndex + 1		}		this.send(true, params, dojo.hitch(this, this.processRows));	},	// server callbacks	processRows: function(inData){		for(var i=0, l=inData.totalResultsReturned, s=inData.firstResultPosition; i<l; i++){			this.setRow(inData.Result[i], s - 1 + i);		}		// yahoo says 1000 is max results to return		var c = Math.min(1000, inData.totalResultsAvailable);		if(this.count != c){			this.setRowCount(c);			this.allChange();			this.onInitializeData(inData);		}	},	getDatum: function(inRowIndex, inColIndex){		var row = this.getRow(inRowIndex);		var field = this.fields.get(inColIndex);		return (inColIndex == undefined ? row : (row ? row[field.name] : field.na));	},	// events	onInitializeData: function(){ },	onSend: function(){ },	onReceive: function(){ }});// reportmodelChange = function(){	var n = dojo.byId('rowCount');	if(n){		n.innerHTML = dojo.string.substitute('about ${0} row(s)', [model.count]);	}}// some data formattersgetCellData = function(inCell, inRowIndex, inField){	var m = inCell.grid.model;	return m.getDatum(inRowIndex, inField);}formatLink = function(inData, inRowIndex){	if(!inData){ return '&nbsp;'; }	var text = getCellData(this, inRowIndex, this.extraField);	return dojo.string.substitute(		'<a target="_blank" href="${href}">${text}</a>', 		{ href: inData, text: text }	);};formatImage = function(inData, inRowIndex){	if(!inData){ return '&nbsp;'; }	var info = getCellData(this, inRowIndex, this.extraField);	var o = {		href: inData, 		src: info.Url,		width: info.Width,		height: info.Height	}	return dojo.string.substitute(		'<a href="${href}" target="_blank"><img border=0 src="${src}" width="${width}" height="${height}"></a>', o);};formatDate = function(inDatum, inRowIndex){	if(!inDatum){ return '&nbsp;'; }	var d = new Date(inDatum * 1000);	return dojo.string.substitute(		"${0}/${1}/${2}",		[ d.getMonth()+1, d.getDate(), d.getFullYear() ]	);};formatDimensions = function(inData, inRowIndex){	if(!inData){ return '&nbsp;'; }	var w = inData, h = getCellData(this, inRowIndex, this.extraField);	return w + ' x ' + h;}

⌨️ 快捷键说明

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