非常不错的一个javascript 类_javascript技巧
非常不错的一个javascript 类
/*
* Author:aoao
* Homepage:http://www.loaoao.com
* Email:loaoao@gmail.com / QQ:2222342
* Copyright (c) 2006 aoao
* Licensed under a Creative Commons Attribution 2.5 License (http://creativecommons.org/licenses/by/2.5/)
*/
var jscc = new Object();
var loaoao = new Object();//^_^//
jscc = {
init:function(){/*_*/},
path:"/scripts/jscc/",
include:function (file){
var j=document.createElement("script");
j.setAttribute('type','text/javascript');
j.setAttribute('src',jscc.path+file+'.js');
document.getElementsByTagName("head")[0].appendChild(j);
}
};
jscc.addEvent = function( obj, type, fn ) {
if ( obj.attachEvent ) {
obj['e'+type+fn] = fn;
obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
obj.attachEvent( 'on'+type, obj[type+fn] );
} else {
obj.addEventListener( type, fn, false );
}
};
// Cookies
jscc.cookie = {
create:function (name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
},
read:function(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
};
jscc.getPageSize=function(){
// reference lightbox (http://www.huddletogether.com/projects/lightbox/lightbox.js)
var theWidth,theHeight;
if (window.innerHeight&&window.scrollMaxY) {
theWidth = window.innerWidth;
theHeight = window.innerHeight+ window.scrollMaxY;
}
else if (document.body){
theWidth=((document.body.scrollWidth > document.body.offsetWidth)?document.body.scrollWidth : document.body.offsetWidth );
theHeight=((document.body.scrollHeight > document.body.offsetHeight)?document.body.scrollHeight : document.body.offsetHeight );
}
var winWidth ,winHeight;
if (self.innerHeight) {
winWidth = self.innerWidth;
winHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) {
winWidth = document.documentElement.clientWidth;
winHeight = document.documentElement.clientHeight;
} else if (document.body) {
winWidth = document.body.clientWidth;
winHeight = document.body.clientHeight;
}
var pWidth=(theWidth>winWidth?theWidth:winWidth)
var pHeight=(theHeight>winHeight?theHeight:winHeight)
var yScroll;
if (self.pageYOffset) {
yScroll = self.pageYOffset;
} else if (document.documentElement && document.documentElement.scrollTop){ // Explorer 6 Strict
yScroll = document.documentElement.scrollTop;
} else if (document.body) {// all other Explorers
yScroll = document.body.scrollTop;
}
var getPageSize = new Array(pWidth,pHeight,winWidth,winHeight,yScroll)
return getPageSize;
}
jscc.widgets = {/**/};
jscc.widgets.fixedsidebar = {
fixedHeight:0,
oldScrolltop:0,
init: function(){
if (!document.getElementById("sidebar")) return;
jscc.addEvent(window,"scroll",function(e){jscc.widgets.fixedsidebar.setFixed()});
jscc.addEvent(window,"resize",function(e){jscc.widgets.fixedsidebar.setFixed()});
this.fixedHeight=document.getElementById("sidebar").offsetTop;
this.setFixed();
},
setFixed:function(){
var sidebar=document.getElementById("sidebar");
var ref=document.getElementById("main");
var s_t=sidebar.offsetTop;
var s_h=sidebar.offsetHeight;
var s_th=s_t+s_h;
var r_th=ref.offsetTop+ref.offsetHeight;
var d_st;
if(document.documentElement.scrollTop){
d_st=document.documentElement.scrollTop;
}
else{
d_st=document.body.scrollTop
}
if(r_th>(s_t+s_h)){
var seHeight=0;
if (self.innerHeight) { seHeight = self.innerHeight;} else if (document.documentElement && document.documentElement.clientHeight) { seHeight = document.documentElement.clientHeight;} else if (document.body) {seHeight = document.body.clientHeight;}
try{
if(seHeight>s_h){
var newtop=(d_st
else{
// Thank you dron (http://www.ucren.com/)
switch (d_st-this.oldScrolltop>0)
{
case true:
if (d_st-this.fixedHeight > s_t -seHeight){
var newtop= d_st -this.fixedHeight - (s_h-seHeight)-68;
}
break;
case false:
if (d_st-this.fixedHeight
}
break;
}
}
this.oldScrolltop = d_st;
if(newtop==undefined){ return;};
newtop=(newtop sidebar.style.marginTop= newtop+"px";
}
catch(e){
//alert(e.description);
}
}
else{
sidebar.style.marginTop="0px";
}
}
};
//jscc.addEvent(window,"load",function(e){jscc.widgets.fixedsidebar.init()});
jscc.widgets.wraphandler = {
//jscc.widgets.wraphandler reference http://www.collylogic.com/includes/resizer.js (http://www.collylogic.com/?/comments/redesign-notes-1-width-based-layout/)
init: function() {
//if (!document.getElementById) return;
if( document.getElementById('wrapper').className=="col3"){
jscc.wraphandler.setWrapper();
jscc.addEvent(window,"resize",jscc.wraphandler.setWrapper);
}
else{return}
},
setWrapper: function() {
var getPS=jscc.getPageSize();
var _width=getPS[2];
if (_width document.getElementById('wrapper').className = 'col2';
} else {
document.getElementById('wrapper').className = 'col3';
}
if(document.all) {
if (_width document.getElementById('wrapper').style.width="750px"
} else {
document.getElementById('wrapper').style.width="auto"
}
}
}
};
//jscc.addEvent(window,"load",function(e){jscc.widgets.wraphandler.init()});
jscc.widgets.styleSwitcher = {
// jscc.widgets.styleSwitcher reference StyleSwitcher functions( written by Paul Sowden http://www.idontsmoke.co.uk/ss/ . For the details, visit ALA: http://www.alistapart.com/stories/alternate/)
init:function(e) {
var cookie = jscc.cookie.read("style");
var title = cookie ? cookie : this.getPreferred();
title = (title==null?"left":title);
this.setActive(title);
var operactioner = document.getElementById("themes").getElementsByTagName("A");
operactioner[0].onclick=function() {
jscc.widgets.styleSwitcher.setActive("left");
return false;
};
operactioner[1].onclick=function() {
jscc.widgets.styleSwitcher.setActive("right");
return false;
};
this.switcher(title);
},
setActive:function(title){
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
this.switcher(title);
//jscc.cookie.create("style", title,"365");
},
getActive:function(){
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");}
return null;
},
getPreferred:function (){
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) return a.getAttribute("title");
}
return null;
},
switcher:function(theme){
if(!document.getElementById(["theme_"+theme])) { return;}
var notheme=(theme=="left"?"right":"left");
document.getElementById(["theme_"+notheme]).style.display="inline";
document.getElementById(["theme_"+theme]).style.display="none";
},
end:function(e){
var title = this.getActive();
jscc.cookie.create("style", title,"365");
}
};
//jscc.addEvent(window,"load",function(e){jscc.widgets.styleSwitcher.init()});
jscc.addEvent(window,"unload",function(e){jscc.widgets.styleSwitcher.end()});
jscc.widgets.toTop = {
init:function(){
document.getElementById("toTop").onclick=function(e){
jscc.widgets.toTop.set();
return false;
}
},
waitTimer:null,
set:function(){
var d_st=document.documentElement.scrollTop;
if(window.navigator.userAgent.indexOf("MSIE")>=1){
for (var i=d_st; i>10; i-=Math.floor(i/6)){
window.scrollTo(0,i);
}
window.scrollTo(0,10);
}
else{
window.scrollTo(0,Math.floor(d_st / 2));
if(d_st>10){
waitTimer=setTimeout("jscc.widgets.toTop.set()",20);
}
else{
clearTimeout(waitTimer);
}
}
}
}
jscc.api={
google:{
init:function(){
try{
var searchControl = new GSearchControl();
}
catch(e){
return;
}
var options = new GdrawOptions();
options.setSearchFormRoot(document.getElementById("googleSearchForm"));
options.setDrawMode(GSearchControl.DRAW_MODE_TABBED);
searchControl.setLinkTarget(GSearch.LINK_TARGET_SELF);
searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);
var siteSearch = new GwebSearch();
siteSearch.setUserDefinedLabel("站内搜索");
siteSearch.setUserDefinedClassSuffix("siteSearch");
siteSearch.setSiteRestriction("www.loaoao.com");
searchControl.addSearcher(siteSearch);
var labSearch = new GwebSearch();
labSearch.setUserDefinedLabel("嗷嗷的实验室搜索");
labSearch.setUserDefinedClassSuffix("labSearch");
labSearch.setSiteRestriction("lab.loaoao.com");
searchControl.addSearcher(labSearch);
var wwwSearch = new GwebSearch();
wwwSearch.setUserDefinedLabel("Google搜索");
labSearch.setUserDefinedClassSuffix("wwwSearch");
searchControl.addSearcher(wwwSearch);
searchControl.draw(document.getElementById("googleSearchResults"), options);
// searchControl.execute("css");
}
}
}
loaoao.com = function(){
if (!document.getElementById) return;
jscc.widgets.styleSwitcher.init();
jscc.widgets.fixedsidebar.init();
jscc.widgets.toTop.init();
jscc.api.google.init();
};
jscc.addEvent(window,"load",loaoao.com);

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Ralat PHP: Tidak dapat mengisytiharkan kelas berulang kali, penyelesaian!

Penamaan konvensyen dalam PHP: Cara menggunakan penamaan kes unta untuk kelas, kaedah dan pembolehubah

Kelas tidak ditemui dalam Java - Bagaimana untuk menyelesaikan java.lang.ClassNotFoundException?

Teknologi pembungkusan dan aplikasi dalam PHP

Bagaimana untuk menggunakan Atribut untuk menambah anotasi tersuai pada kelas dalam PHP8?

'Pengenalan kepada Pengaturcaraan Berorientasikan Objek dalam PHP: Dari Konsep kepada Amalan'

Petua Pengkapsulan Kod PHP: Cara Menggunakan Kelas dan Objek untuk Merangkum Blok Kod Boleh Digunakan Semula
