You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.9 KiB
79 lines
2.9 KiB
function win(attr) { //获取可视区尺寸,参数为height|width
|
|
// 横屏
|
|
var detectOrient = function() {
|
|
var width = document.documentElement.clientWidth,
|
|
height = document.documentElement.clientHeight,
|
|
wrapper = document.getElementById("wrap"),
|
|
style = "";
|
|
if(width >= height) { // 竖屏
|
|
style += "width:100%";
|
|
style += "height:100%;";
|
|
style += "-webkit-transform: rotate(0); transform: rotate(0);";
|
|
style += "-webkit-transform-origin: 0 0;";
|
|
style += "transform-origin: 0 0;";
|
|
} else { // 横屏
|
|
style += "width:" + height + "px;"; // 注意旋转后的宽高切换
|
|
style += "height:" + width + "px;";
|
|
style += "-webkit-transform: rotate(90deg); transform: rotate(90deg);";
|
|
// 注意旋转中点的处理
|
|
style += "-webkit-transform-origin: " + width / 2 + "px " + width / 2 + "px;";
|
|
style += "transform-origin: " + width / 2 + "px " + width / 2 + "px;";
|
|
}
|
|
wrapper.style.cssText = style;
|
|
}
|
|
window.onresize = detectOrient;
|
|
detectOrient();
|
|
}
|
|
window.onload = function() {
|
|
var bd = document.getElementsByClassName('snowList'); //获取body
|
|
function snow() { //雪花函数
|
|
|
|
var win_height = '100%'; //获取窗口高度
|
|
var win_width = document.documentElement.clientHeight; //获取窗口宽度
|
|
function createsnow() { //创建雪花函数
|
|
var snowdiv = document.createElement('div'); //新建一个div
|
|
snowdiv.className = 'snow'
|
|
snowdiv.innerHTML = "j"; //写入雪花(字体的代码为j)
|
|
var size = 20 + parseInt(Math.random() * 30); //随机生成雪花的大小
|
|
var left = parseInt(win_width * (Math.random()) * 0.98); //随机生成left值
|
|
snowdiv.style.fontSize = size + 'px'; //应用字体大小
|
|
snowdiv.style.width = size + 'px'; //div应用宽度
|
|
snowdiv.style.height = size + 'px'; //div应用高度
|
|
snowdiv.style.left = left + 'px'; //雪花的left值
|
|
$('.snowList').append(snowdiv)
|
|
// bd.append(snowdiv); //将此雪花放入文档中
|
|
return snowdiv; //返回这个雪花对象
|
|
}
|
|
setInterval(function() {
|
|
var snow = createsnow(); //创建雪花并得到这一对象
|
|
var sbd = Math.ceil(Math.random() * 10); //随机生成下落速度
|
|
move(snow, sbd); //移动雪花
|
|
}, 100);
|
|
|
|
function move(obj, speed) { //移动函数
|
|
var top = 0;
|
|
var timer = setInterval(
|
|
function() {
|
|
top = top + speed; //改变top值
|
|
obj.style.top = top + 'px';
|
|
if(top > win_height - 20) {
|
|
clearInterval(timer); //下落停止
|
|
}
|
|
}, 30);
|
|
}
|
|
setInterval(function() { //一段时间之后清理一次雪花,防止文档过大卡住
|
|
var snows = document.getElementsByClassName('snow');
|
|
for(var i = 0; i < snows.length / 3; i++) {
|
|
snows[i].parentNode.removeChild(snows[i]);
|
|
}
|
|
}, 5000);
|
|
}
|
|
snow(); //执行snow函数
|
|
window.onresize = function() { //窗口改变
|
|
var snows = document.getElementsByTagName('div');
|
|
snows.className="snow"
|
|
for(var i = 0; i < snows.length; i++) {
|
|
snows[i].parentNode.removeChild(snows[i]);
|
|
}
|
|
}
|
|
}
|