var sina = {$:function (objname) { if (document.getelementbyid) { return eval("document.getelementbyid(\"" + objname + "\")"); } else { return eval("document.all." + objname); } }, isie:navigator.appversion.indexof("msie") != -1 ? true : false, addevent:function (l, i, i) { if (l.attachevent) { l.attachevent("on" + i, i); } else { l.addeventlistener(i, i, false); } }, delevent:function (l, i, i) { if (l.detachevent) { l.detachevent("on" + i, i); } else { l.removeeventlistener(i, i, false); } }, readcookie:function (o) { var o = "", l = o + "="; if (document.cookie.length > 0) { var i = document.cookie.indexof(l); if (i != -1) { i += l.length; var i = document.cookie.indexof(";", i); if (i == -1) { i = document.cookie.length; } o = unescape(document.cookie.substring(i, i)); } } return o; }, writecookie:function (i, l, o, c) { var o = "", i = ""; if (o != null) { o = new date((new date).gettime() + o * 3600000); o = "; expires=" + o.togmtstring(); } if (c != null) { i = ";domain=" + c; } document.cookie = i + "=" + escape(l) + o + i; }, readstyle:function (i, l) { if (i.style[l]) { return i.style[l]; } else { if (i.currentstyle) { return i.currentstyle[l]; } else { if (document.defaultview && document.defaultview.getcomputedstyle) { var i = document.defaultview.getcomputedstyle(i, null); return i.getpropertyvalue(l); } else { return null; } } } }}; //����ͼƭ���캯�� //ui&ue dept. mengjia //080623 function scrollpic(scrollcontid, arrleftid, arrrightid, dotlistid) { this.scrollcontid = scrollcontid; this.arrleftid = arrleftid; this.arrrightid = arrrightid; this.dotlistid = dotlistid; this.dotclassname = "dotitem"; this.dotonclassname = "dotitemon"; this.dotobjarr = []; this.pagewidth = 0; this.framewidth = 0; this.speed = 10; this.space = 10; this.pageindex = 0; this.autoplay = true; this.autoplaytime = 5; var _autotimeobj, _scrolltimeobj, _state = "ready"; this.stripdiv = document.createelement("div"); this.listdiv01 = document.createelement("div"); this.listdiv02 = document.createelement("div"); if (!scrollpic.childs) { scrollpic.childs = []; } this.id = scrollpic.childs.length; scrollpic.childs.push(this); this.initialize = function () { if (!this.scrollcontid) { throw new error("\u5fc5\u987b\u6307\u5b9ascrollcontid."); return; } this.scrollcontdiv = sina.$(this.scrollcontid); if (!this.scrollcontdiv) { throw new error("scrollcontid\u4e0d\u662f\u6b63\u786e\u7684\u5bf9\u8c61.(scrollcontid = \"" + this.scrollcontid + "\")"); return; } this.scrollcontdiv.style.width = this.framewidth + "px"; this.scrollcontdiv.style.overflow = "hidden"; this.listdiv01.innerhtml = this.listdiv02.innerhtml = this.scrollcontdiv.innerhtml; this.scrollcontdiv.innerhtml = ""; this.scrollcontdiv.appendchild(this.stripdiv); this.stripdiv.appendchild(this.listdiv01); this.stripdiv.appendchild(this.listdiv02); this.stripdiv.style.overflow = "hidden"; this.stripdiv.style.zoom = "1"; this.stripdiv.style.width = "32766px"; this.listdiv01.style.cssfloat = "left"; this.listdiv02.style.cssfloat = "left"; sina.addevent(this.scrollcontdiv, "mouseover", function("scrollpic.childs[" + this.id + "].stop()")); sina.addevent(this.scrollcontdiv, "mouseout", function("scrollpic.childs[" + this.id + "].play()")); if (this.arrleftid) { this.arrleftobj = sina.$(this.arrleftid); if (this.arrleftobj) { sina.addevent(this.arrleftobj, "mousedown", function("scrollpic.childs[" + this.id + "].rightmousedown()")); sina.addevent(this.arrleftobj, "mouseup", function("scrollpic.childs[" + this.id + "].rightend()")); sina.addevent(this.arrleftobj, "mouseout", function("scrollpic.childs[" + this.id + "].rightend()")); } } if (this.arrrightid) { this.arrrightobj = sina.$(this.arrrightid); if (this.arrrightobj) { sina.addevent(this.arrrightobj, "mousedown", function("scrollpic.childs[" + this.id + "].leftmousedown()")); sina.addevent(this.arrrightobj, "mouseup", function("scrollpic.childs[" + this.id + "].leftend()")); sina.addevent(this.arrrightobj, "mouseout", function("scrollpic.childs[" + this.id + "].leftend()")); } } if (this.dotlistid) { this.dotlistobj = sina.$(this.dotlistid); if (this.dotlistobj) { var pages = math.round(this.listdiv01.offsetwidth / this.framewidth + 0.4), i, tempobj; for (i = 0; i < pages; i++) { tempobj = document.createelement("span"); this.dotlistobj.appendchild(tempobj); this.dotobjarr.push(tempobj); if (i == this.pageindex) { tempobj.classname = this.dotclassname; } else { tempobj.classname = this.dotonclassname; } tempobj.title = "\u7b2c" + (i + 1) + "\u9875"; sina.addevent(tempobj, "click", function("scrollpic.childs[" + this.id + "].pageto(" + i + ")")); } } } if (this.autoplay) { this.play(); } }; this.leftmousedown = function () { if (_state != "ready") { return; } _state = "floating"; _scrolltimeobj = setinterval("scrollpic.childs[" + this.id + "].moveleft()", this.speed); }; this.rightmousedown = function () { if (_state != "ready") { return; } _state = "floating"; _scrolltimeobj = setinterval("scrollpic.childs[" + this.id + "].moveright()", this.speed); }; this.moveleft = function () { if (this.scrollcontdiv.scrollleft + this.space >= this.listdiv01.scrollwidth) { this.scrollcontdiv.scrollleft = this.scrollcontdiv.scrollleft + this.space - this.listdiv01.scrollwidth; } else { this.scrollcontdiv.scrollleft += this.space; } this.accountpageindex(); }; this.moveright = function () { if (this.scrollcontdiv.scrollleft - this.space <= 0) { this.scrollcontdiv.scrollleft = this.listdiv01.scrollwidth + this.scrollcontdiv.scrollleft - this.space; } else { this.scrollcontdiv.scrollleft -= this.space; } this.accountpageindex(); }; this.leftend = function () { if (_state != "floating") { return; } _state = "stoping"; clearinterval(_scrolltimeobj); var fill = this.pagewidth - this.scrollcontdiv.scrollleft % this.pagewidth; this.move(fill); }; this.rightend = function () { if (_state != "floating") { return; } _state = "stoping"; clearinterval(_scrolltimeobj); var fill = -this.scrollcontdiv.scrollleft % this.pagewidth; this.move(fill); }; this.move = function (num, quick) { var thismove = num / 5; if (!quick) { if (thismove > this.space) { thismove = this.space; } if (thismove < -this.space) { thismove = -this.space; } } if (math.abs(thismove) < 1 && thismove != 0) { thismove = thismove >= 0 ? 1 : -1; } else { thismove = math.round(thismove); } var temp = this.scrollcontdiv.scrollleft + thismove; if (thismove > 0) { if (this.scrollcontdiv.scrollleft + thismove >= this.listdiv01.scrollwidth) { this.scrollcontdiv.scrollleft = this.scrollcontdiv.scrollleft + thismove - this.listdiv01.scrollwidth; } else { this.scrollcontdiv.scrollleft += thismove; } } else { if (this.scrollcontdiv.scrollleft - thismove <= 0) { this.scrollcontdiv.scrollleft = this.listdiv01.scrollwidth + this.scrollcontdiv.scrollleft - thismove; } else { this.scrollcontdiv.scrollleft += thismove; } } num -= thismove; if (math.abs(num) == 0) { _state = "ready"; if (this.autoplay) { this.play(); } this.accountpageindex(); return; } else { this.accountpageindex(); settimeout("scrollpic.childs[" + this.id + "].move(" + num + "," + quick + ")", this.speed); } }; this.next = function () { if (_state != "ready") { return; } _state = "stoping"; this.move(this.pagewidth, true); }; this.play = function () { if (!this.autoplay) { return; } clearinterval(_autotimeobj); _autotimeobj = setinterval("scrollpic.childs[" + this.id + "].next()", this.autoplaytime * 1000); }; this.stop = function () { clearinterval(_autotimeobj); }; this.pageto = function (num) { if (_state != "ready") { return; } _state = "stoping"; var fill = num * this.framewidth - this.scrollcontdiv.scrollleft; this.move(fill, true); }; this.accountpageindex = function () { this.pageindex = math.round(this.scrollcontdiv.scrollleft / this.framewidth); if (this.pageindex > math.round(this.listdiv01.offsetwidth / this.framewidth + 0.4) - 1) { this.pageindex = 0; } var i; for (i = 0; i < this.dotobjarr.length; i++) { if (i == this.pageindex) { this.dotobjarr[i].classname = this.dotclassname; } else { this.dotobjarr[i].classname = this.dotonclassname; } } }; }