/*
隨機數
參數:n,m 都是數字
*/
function
numRandom(
n,
m){
return
parseInt(
n+
Math.
random()*(
m-
n+
1));
}
//冒泡排序
function
bubble(
arr){
var
temp;
for(
var
i=
0;
i<
arr.
length-
1;
i++){
for(
var
j=
0;
j<
arr.
length-
i-
1;
j++){
if(
arr[
j]>
arr[
j+
1]){
temp =
arr[
j];
arr[
j] =
arr[
j+
1];
arr[
j+
1] =
temp;
}
}
}
return
arr;
}
//選擇排序
function
selectSort(
arr){
var
temp;
for(
var
i=
0;
i<
arr.
length-
1;
i++){
for(
var
j=
i+
1;
j<
arr.
length;
j++){
if(
arr[
i]>
arr[
j]){
temp =
arr[
i];
arr[
i] =
arr[
j];
arr[
j] =
temp;
}
}
}
return
arr;
}
//隨機顏色rgb
function
colorRandom(){
var
r =
numRandom(
0,
255)
var
g =
numRandom(
0,
255)
var
b =
numRandom(
0,
255)
return
"rgb("+
r+
","+
g+
","+
b+
")"
}
//隨機顏色2
function
colorT2Random(){
var
r =
numRandom(
0,
255)
var
g =
numRandom(
0,
255)
var
b =
numRandom(
0,
255)
return
"#"+
insertZero(
r,
g,
b);
}
function
insertZero(
R,
G,
B){
R =
R.
toString(
16).
length>=
2?
R.
toString(
16):
"0"+
R.
toString(
16)
G =
G.
toString(
16).
length>=
2?
G.
toString(
16):
"0"+
G.
toString(
16)
B =
B.
toString(
16).
length>=
2?
B.
toString(
16):
"0"+
B.
toString(
16)
return
R+
G+
B
}
//隨機驗證碼
function
codeRandom () {
var
str =
"";
for(
var
i=
0;
i<
6;
i++){
var
n =
parseInt(
48+
Math.
random()*(
122-
48+
1));
while(
n>=
58 &&
n<=
64 ||
n>=
91 &&
n<=
96){
n =
parseInt(
48+
Math.
random()*(
122-
48+
1));
}
var
char =
String.
fromCharCode(
n);
str+=
char;
}
return
str;
}
//將時間對象轉換爲字符串
function
dateString(
d,
sign){
sign =
sign?
sign:
"/"
return
d.
getFullYear()+
sign+
reZero((
d.
getMonth()+
1))+
sign+
reZero(
d.
getDate())+
" "+
reZero(
d.
getHours())+
":"+
reZero(
d.
getMinutes())+
":"+
reZero(
d.
getSeconds());
}
function
reZero(
n){
if(
n<
10){
n =
"0"+
n;
}
return
n;
}
//獲取非行間樣式
function
getStyle(
ele,
attr) {
if(
ele.
currentStyle){
return
ele.
currentStyle[
attr];
}
else{
return
getComputedStyle(
ele,
false)[
attr]
}
}
//設置和獲取自定義屬性
function
attr(){
if(
arguments.
length==
2){
return
arguments[
0].
getAttribute(
arguments[
1])
}
else
if(
arguments.
length==
3){
arguments[
0].
setAttribute(
arguments[
1],
arguments[
2])
}
else{
return;
}
}
//獲取當前元素距離頁面之間的偏移量
function
offset(
ele){
var
obj = {};
obj.
l =
ele.
offsetLeft;
obj.
t =
ele.
offsetTop;
while(
ele.
offsetParent){
ele =
ele.
offsetParent;
obj.
l +=
ele.
offsetLeft;
obj.
t +=
ele.
offsetTop;
}
return
obj;
}
function
getCookie(
name){
var
cookie =
document.
cookie;
var
arr =
cookie.
split(
"; ");
for(
var
i=
0;
i<
arr.
length;
i++){
var
newArr =
arr[
i].
split(
"=");
if(
name ==
newArr[
0]){
return
newArr[
1];
}
}
}
function
setCookie(
_name,
val,
expires){
var
d =
new
Date();
d.
setDate(
d.
getDate()+
expires);
console.
log(
d)
document.
cookie =
_name+
"="+
val+
";path=/;expires="+
d;
}
function
removeCookie(
_name,
val){
setCookie(
_name,
val,-
1);
}
//運動框架
function
getStyle(
obj,
attr){
if(
obj.
currentStyle){
return
obj.
currentStyle[
attr];
}
else{
return
getComputedStyle(
obj,
false)[
attr];
}
}
function
move(
obj,
json,
fn){
clearInterval(
obj.
timer);
obj.
timer =
setInterval(
function(){
var
bStop =
true;
for(
var
attr
in
json){
//第一步算元素的初始值
var
iCur =
0;
//判斷屬性是否爲透明度
if(
attr ==
"opacity"){
iCur =
parseInt(
parseFloat(
getStyle(
obj,
attr))*
100)
}
else{
iCur =
parseInt(
getStyle(
obj,
attr));
}
//算速度
var
speed = (
json[
attr]-
iCur)/
8;
//速度取整
speed =
speed>
0?
Math.
ceil(
speed):
Math.
floor(
speed);
//判斷是否都已經到達目的地
if(
iCur !=
json[
attr]){
bStop =
false;
}
//運動原理
if(
attr ==
"opacity"){
obj.
style.
opacity = (
iCur+
speed)/
100;
obj.
style.
filter =
"alpha(opacity:"+(
iCur+
speed)+
")"
}
else{
obj.
style[
attr] =
iCur+
speed+
"px";
}
}
if(
bStop){
clearInterval(
obj.
timer);
fn&&
fn();
}
},
30)
}