html垂直字体轮播图,垂直轮播图(原创)

function $(id) {

return document.getElementById(id);

}

//浏览器窗口高度

var windowHeight = 900;

var currentN = 1;

var currentTop = 0;

var scrollDirection = 1;

var clock;

window.onresize = function() {

windowHeight = document.documentElement.clientHeight;

}

window.onload = function() {

//获取浏览器窗口高度

windowHeight = document.documentElement.clientHeight;

//主显DIV滚动事件处理

$("maindiv").onscroll = function() {

//获取当前滚动的顶线位置

var tempTop = $("maindiv").scrollTop;

//计算当前在第几个主画面

n = Math.round(tempTop / windowHeight) + 1;

radio(n);

//判断滚动方向

if (tempTop > currentTop) {

scrollDirection = 1;

} else if (tempTop < currentTop) {

scrollDirection = -1;

}

//滑动动画

clearInterval(clock);

clock = setInterval(animation, 1);

//每次滚动完毕将位置存入变量以供比较判断滚动方向

currentTop = $("maindiv").scrollTop;

//$("informationdiv").innerHTML="方向"+scrollDirection+" "+n+"th screen "+"scroll top of maindiv"+currentTop+" window height:"+windowHeight;

}

}

//选中第n个radio

function radio(n) {

$("radio" + n).checked = "true";

}

//点选RADIO后直接跳转至第n屏

function showScreen(n) {

radio(n);

var targetTop = (n - 1) * windowHeight;

$("maindiv").scrollTop = targetTop;

}

//分屏滑动动画效果

function animation() {

if (scrollDirection == 1) {

//上行

if ($("maindiv").scrollTop % windowHeight != 0) {

$("maindiv").scrollTop += 1;

} else {

clearInterval(clock);

}

}

if (scrollDirection == -1) {

//下行

if ($("maindiv").scrollTop % windowHeight != 0) {

$("maindiv").scrollTop -= 1;

} else {

clearInterval(clock);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值