JAvascript実用小例まとめ
6304 ワード
注意:不明な関数がある場合は、javascript共通関数で探してください.
1.虹文字効果
2.canvas内のマウスの位置(ピクセル)を取得
注意:canvasのheight、widthとstyleを保証します....widthは一致する.つまり、修正するときに同時に修正します.
関数mousePositionはjs関数を参照してブログをまとめます.
3.jaカスタムmap関数(他の人の)
4.js簡単なページ切り替え効果.
注意:私のデータ構造の説明を書くのに使います.すべては1つのページで、divでいくつかの部分に分けて、コードを見てから分かります.
5.懸濁層効果(ここではhtmlの部分のみ)
6.日からフォーマット(ネットで探したもの)
7.ページをロードした後、middleの内容の高さに応じてレイアウトのサイズを再調整します.
8.変数が定義されているかどうかを判断する
1.虹文字効果
/*
: rainbowText(" A* ",20);
*/
function rainbowText(text,size){
function createHexArray(n) {
var arr=new Array(n);
for (var i = 1; i <= n; i++)
arr[i] = i - 1;
arr[11] = "A";
arr[12] = "B";
arr[13] = "C";
arr[14] = "D";
arr[15] = "E";
arr[16] = "F";
return arr;
}
function convertToHex(x) {
var hx = createHexArray(16);
if (x < 17) x = 16;
var high = x / 16;
var s = high+"";
s = s.substring(0, 2);
high = parseInt(s, 10);
var left = hx[high + 1];
var low = x - high * 16;
if (low < 1) low = 1;
s = low + "";
s = s.substring(0, 2);
low = parseInt(s, 10);
var right = hx[low + 1];
var string = left + "" + right;
return string;
}
text = text.substring(0, text.length);
color_d1 = 255;
mul = color_d1 / text.length;
for(var i = 0; i < text.length; i++) {
color_d1 = 255*Math.sin(i / (text.length / 3));
color_h1 = convertToHex(color_d1);
color_d2 = mul * i;
color_h2 = convertToHex(color_d2);
k = text.length;
j = k - i;
if (j < 0) j = 0;
color_d3 = mul * j;
color_h3 = convertToHex(color_d3);
document.write("" + text.substring(i, i + 1) + "");
}
}
2.canvas内のマウスの位置(ピクセル)を取得
注意:canvasのheight、widthとstyleを保証します....widthは一致する.つまり、修正するときに同時に修正します.
関数mousePositionはjs関数を参照してブログをまとめます.
function canvasMouseClick(event){
var canvas=document.getElementById("myCanvas");
var bbox =canvas.getBoundingClientRect();
var x=event.clientX;
var y=event.clientY;
var pos=mousePosition(event);
x=x-bbox.left *(canvas.width / bbox.width);
y=y - bbox.top * (canvas.height / bbox.height);
return {x:x,y:y};
}
3.jaカスタムmap関数(他の人の)
/* **************************************** map bg*/
/*
* map
var map = new Map();
map.put("a", "aaa");
map.put("b","bbb");
map.put("cc","cccc");
map.put("c","ccc");
map.remove("cc");
map.clear();
var array = map.keySet();
for(var i in array) {
document.write("key:(" + array[i] +")
value: ("+map.get(array[i])+")
");
}
*/
function Map(){
this.container = new Object();
}
Map.prototype.put = function(key, value){
this.container[key] = value;
}
Map.prototype.get = function(key){
return this.container[key];
}
Map.prototype.keySet = function() {
var keyset = new Array();
var count = 0;
for (var key in this.container) {
// object extend
if (key == 'extend') {
continue;
}
keyset[count] = key;
count++;
}
return keyset;
}
Map.prototype.size = function() {
var count = 0;
for (var key in this.container) {
// object extend
if (key == 'extend'){
continue;
}
count++;
}
return count;
}
Map.prototype.remove = function(key) {
delete this.container[key];
}
Map.prototype.clear=function(){
var array = this.keySet();
var n=array.length;
for(var i=0;i
4.js簡単なページ切り替え効果.
注意:私のデータ構造の説明を書くのに使います.すべては1つのページで、divでいくつかの部分に分けて、コードを見てから分かります.
var saveId=new Array(),oldSelId=0;
saveId[0]="#demo_one";
saveId[1]="#demo_two";
saveId[2]="#demo_three";
function choose(n)
{
if(oldSelId==n) return ;
$(saveId[oldSelId]).fadeOut(500,function(){
switch(n){
case 0:
break;
case 1:
break;
case 2:
if($.trim($("#BSM_ini_3").html())==""){ //.trim IE
demo_three_init();
}
break;
}
$(saveId[n]).fadeIn(500,function(){// , 。
});
});
oldSelId=n;
}
5.懸濁層効果(ここではhtmlの部分のみ)
6.日からフォーマット(ネットで探したもの)
// Date , Date String
// (M)、 (d)、 (h)、 (m)、 (s)、 (q) 1-2 ,
// (y) 1-4 , (S) 1 ( 1-3 )
// :
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //
"d+": this.getDate(), //
"h+": this.getHours(), //
"m+": this.getMinutes(), //
"s+": this.getSeconds(), //
"q+": Math.floor((this.getMonth() + 3) / 3), //
"S": this.getMilliseconds() //
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
var time1 = new Date().Format("yyyy-MM-dd");
var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");
alert(time1);
7.ページをロードした後、middleの内容の高さに応じてレイアウトのサイズを再調整します.
function changeHeight()
{
var ht=document.getElementById("middle").offsetHeight;
document.getElementById("md_left").style.height=ht+"px";
document.getElementById("md_right").style.height=ht+"px";
//document.getElementById("md_left").style.background="repeat-y url(../../images/userBg/left.gif)";
//document.getElementById("md_left").style.backgroundRepeat="repeat-y";
//document.getElementById("md_left").style.backgroundImage="../../images/userBg/left.gif";
}
window.οnlοad=changeHeight;
8.変数が定義されているかどうかを判断する
if ( typeof(callbackfun) != "undefined" ) {
callbackfun();
}