137 lines
4.4 KiB
JavaScript
137 lines
4.4 KiB
JavaScript
|
const youyou_move_ele = document.getElementById('youyou_move');
|
|||
|
|
|||
|
let n = 6,current_youyou = 0,current_onload_youyou = 0;
|
|||
|
let youyou_pic_src = new Array;
|
|||
|
let youyou_onload_ele = new Array,youyou_onload_inner_ele = new Array;
|
|||
|
let changing = false,changing_next = false,changing_before = false;
|
|||
|
|
|||
|
//初始化鼬鼬图片链接
|
|||
|
for(var i = 0;i < n;i++)
|
|||
|
{
|
|||
|
youyou_pic_src[i] = 'url(./pic/' + (i + 1) + '.jpg';
|
|||
|
}
|
|||
|
// document.getElementById().append()
|
|||
|
//新建好加载列表
|
|||
|
for(var i = 0;i < 3;i++)
|
|||
|
{
|
|||
|
youyou_onload_ele[i] = document.createElement('div');
|
|||
|
youyou_onload_inner_ele[i] = document.createElement('div');
|
|||
|
|
|||
|
youyou_onload_ele[i].append(youyou_onload_inner_ele[i]);
|
|||
|
}
|
|||
|
//加载youyou_num号鼬鼬到onload_num加载栏目,where记录加载到前面还是后面
|
|||
|
function onload_youyou(youyou_num,onload_num,where)
|
|||
|
{
|
|||
|
youyou_onload_ele[onload_num].style.backgroundImage = youyou_pic_src[youyou_num];
|
|||
|
youyou_onload_inner_ele[onload_num].style.backgroundImage = youyou_pic_src[youyou_num];
|
|||
|
if(where)
|
|||
|
{
|
|||
|
youyou_move_ele.append(youyou_onload_ele[onload_num])
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
youyou_move_ele.insertBefore(youyou_onload_ele[onload_num],youyou_onload_ele[current_onload_youyou])
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function change_width(num)
|
|||
|
{
|
|||
|
youyou_move_ele.style.width = (Number(youyou_move_ele.style.width.replace('px','')) + num) + 'px';
|
|||
|
}
|
|||
|
|
|||
|
onload_youyou(current_youyou,current_onload_youyou,true);
|
|||
|
youyou_move_ele.style.width = '600px';
|
|||
|
|
|||
|
function change_youyou()
|
|||
|
{
|
|||
|
if(changing || changing_next || changing_before)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
changing = true;
|
|||
|
change_width(600);
|
|||
|
onload_youyou((current_youyou + 1) % n,(current_onload_youyou + 1) % 3,true);
|
|||
|
youyou_move_ele.style.transition = 'transform 1s ease';
|
|||
|
youyou_move_ele.style.transform = 'translateX(-600px)';
|
|||
|
setTimeout(() => {
|
|||
|
if(!changing_next && !changing_before)
|
|||
|
{
|
|||
|
youyou_move_ele.removeChild(youyou_onload_ele[current_onload_youyou]);
|
|||
|
change_width(-600);
|
|||
|
youyou_move_ele.style.transition = 'none';
|
|||
|
youyou_move_ele.style.transform = 'none';
|
|||
|
current_youyou++;
|
|||
|
current_youyou %= n;
|
|||
|
current_onload_youyou++;
|
|||
|
current_onload_youyou %= 3;
|
|||
|
}
|
|||
|
changing = false;
|
|||
|
}, 1000);
|
|||
|
};
|
|||
|
|
|||
|
setInterval(change_youyou,2000);
|
|||
|
|
|||
|
function youyou_next()
|
|||
|
{
|
|||
|
if(!changing)
|
|||
|
{
|
|||
|
change_youyou();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
changing_next = true;
|
|||
|
change_width(600);
|
|||
|
onload_youyou((current_youyou + 2) % n,(current_onload_youyou + 2) % 3,true);
|
|||
|
youyou_move_ele.style.transition = 'transform 1s ease';
|
|||
|
youyou_move_ele.style.transform = 'translateX(-1200px)';
|
|||
|
setTimeout(() => {
|
|||
|
youyou_move_ele.removeChild(youyou_onload_ele[current_onload_youyou]);
|
|||
|
youyou_move_ele.removeChild(youyou_onload_ele[(current_onload_youyou + 1) % 3]);
|
|||
|
change_width(-1200);
|
|||
|
youyou_move_ele.style.transition = 'none';
|
|||
|
youyou_move_ele.style.transform = 'none';
|
|||
|
current_youyou += 2;
|
|||
|
current_youyou %= n;
|
|||
|
current_onload_youyou += 2;
|
|||
|
current_onload_youyou %= 3;
|
|||
|
changing_next = false;
|
|||
|
}, 1000);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function youyou_before()
|
|||
|
{
|
|||
|
if(changing)
|
|||
|
{
|
|||
|
changing_before = true;
|
|||
|
youyou_move_ele.style.transform = 'translateX(0px)';
|
|||
|
setTimeout(() => {
|
|||
|
youyou_move_ele.removeChild(youyou_onload_ele[(current_onload_youyou + 1) % 3]);
|
|||
|
changing_before = false;
|
|||
|
}, 1000);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
changing_before = true;
|
|||
|
change_width(600);
|
|||
|
onload_youyou((current_youyou - 1) % n,(current_onload_youyou - 1) % 3,false);
|
|||
|
youyou_move_ele.style.transition = 'none';
|
|||
|
youyou_move_ele.style.transform = 'translateX(-600px)';
|
|||
|
youyou_move_ele.style.transition = 'transform 1s ease';
|
|||
|
youyou_move_ele.style.transform = 'translateX(0px)';
|
|||
|
setTimeout(() => {
|
|||
|
if(!changing_next)
|
|||
|
{
|
|||
|
youyou_move_ele.removeChild(youyou_onload_ele[current_onload_youyou]);
|
|||
|
change_width(-600);
|
|||
|
youyou_move_ele.style.transition = 'none';
|
|||
|
youyou_move_ele.style.transform = 'none';
|
|||
|
current_youyou--;
|
|||
|
current_youyou %= n;
|
|||
|
current_onload_youyou--;
|
|||
|
current_onload_youyou %= 3;
|
|||
|
}
|
|||
|
changing_before = false;
|
|||
|
}, 1000);
|
|||
|
}
|
|||
|
}
|