13 Star 1 Fork 1

mooshroom/Blog

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
layout-a.js 3.69 KB
一键复制 编辑 原始数据 按行查看 历史
tanyoumei 提交于 2015-06-23 13:37 . 后台 重新写路由
/**
* Created by adnimistrator on 2015/6/23.
*/
define('layout', function () {
return layout = avalon.define({
$id: 'layout',
nav: './package/nav/nav.html',
url: '',
footer: './package/public/footer.html',
//火箭
toTop: function () {
layout.rocketStatue = 2
layout.flyFast=20
//设置加速度
var a1 = 0.003
//设置单位时间
var t = 1000 / 60
//设置当前时间
var T = 400
//设置减速度
//获取总距离
//开始的距离
//已经移动了的距离
var doneS = 0
//开始计算
function fly() {
var S = getScrollTop()
if (S != 0) {
// console.log("T:"+T)
layout.flyFast=200
layout.rocketStatue = 2
var s = 0//应当移动的距离
var v = 0
v = a1 * T//当前速度等于加速度乘以当前时间
layout.fireLength=v*8
s = v * t//距离等于速度乘以时间
// console.log("s:"+s)
if(document.documentElement&&document.documentElement.scrollTop)
{
if (S - s > 0) {
document.documentElement.scrollTop = S - s//滚动
}
else {
document.documentElement.scrollTop = S-S/20
T=T- T/14
}
}
else if(document.body)
{
if (S - s > 0) {
document.body.scrollTop = S - s//滚动
}
else {
document.body.scrollTop = S-S/20
T=T- T/14
}
}
T = T + t//时间流逝
doneS = doneS + s//记录里程
setTimeout(function () {
if (getScrollTop() != 0) {
fly()
}
else{
layout.fireLength=0
layout.flyFast=0
layout.rocketStatue=1
setTimeout(function(){
layout.rocketStatue=0
},2600)
}
}, t)
}
}
fly()
setTimeout(function(){
if(layout.mouseOn){
layout.rocketStatue = 1
}
else{
layout.rocketStatue = 0
}
layout.flyFast=0
},2000)
},
flyFast:0,
mouseOn:false,
fireLength: 0,
rocketStatue: 0,//0=休息状态;1=准备起飞;2=飞行中
rocketReady: function () {
layout.mouseOn=true
if (layout.rocketStatue == 0) {
layout.rocketStatue = 1
}
},
rocketDown: function () {
if (layout.mouseOn&&(layout.rocketStatue == 1||getScrollTop()==0)) {
if (layout.rocketStatue == 2) {
setTimeout(function () {
layout.rocketStatue = 0
}, 4000)
} else {
layout.rocketStatue = 0
}
}
layout.mouseOn=false
}
})
});
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mooshroom/Blog.git
git@gitee.com:mooshroom/Blog.git
mooshroom
Blog
Blog
master

搜索帮助