jQuery仿极客公园火箭发射“返回顶部”效果(WordPress代码篇)
前面分享了两篇有关《 jQuery 仿极客公园火箭发射“返回顶部”效果》的文章,如果你是Word-Press 老手,肯定知道如何移植到WordPress主题中;本文针对的是新手,如果你想在你的WordPress主题中实现这个效果,那就往下看吧!
建议先看一下下面的文章——如果你还没有看过的话: 《 jQuery仿极客公园火箭发射“返回顶部”效果(初始篇)》 《 jQuery仿极客公园火箭发射“返回顶部”效果(优化篇)》
教程如下(代码来源于andyliu,感谢原作者。):
先提前下载好所需要的上面的图片,点击下载。建议放在主题目录下的images文件夹中。
一
加载jQuery库文件,如果主题已经加载了,则可以忽略这一步;
二
在主题的footer.php 的适当位置添加以下代码:
<div class="one"></div> <div id="backtotop" style="display:none;"></div> |
---|
三
将下面的CSS代码加入主题的style.css 中:
.one {width:100%;height:3000px;} #backtotop {background:url(images/rocket_up.png) 0px 0px no-repeat;position:fixed;bottom:0px;right:10px;width:149px;height:260px;cursor: pointer;} |
---|
四
对于以下js代码,可以另外建立一个js文件,或者合并在已有的主题的相关js文件中(建议),还可以包裹在<script></script>放在footer.php中:
var scrollTT = { tTSpeed : 800, // 滚动到顶部的时间 startFlyTime : 1000, // 火箭起飞的时间 restartTime : 1200, // 重置火箭位置的时间 flySpeed : 50, // 火箭向上飞行的速度 obj : $("#backtotop"), // 回到顶部的dom flyTemp : '', // 一个setInterval的临时变量 /** * * 初始化 scrollTT 函数 * 主要是像对象添加事件 * */ init : function( obj, tTSpeed, startFlyTime, restartTime, flySpeed ) { scrollTT.tTSpeed = scrollTT.tTSpeed || tTSpeed; scrollTT.startFlyTIme = scrollTT.startFlyTIme || startFlyTime; scrollTT.restartTime = scrollTT.restartTime || restartTime; scrollTT.flySpeed = scrollTT.flySpeed || flySpeed; scrollTT.obj = scrollTT.obj || obj; // 向window 绑定scroll 事件 scrollTT.onScroll(); scrollTT.obj.click(function(){ // 关闭默认的scroll事件 $(window).off("scroll"); // 页面向上滚动 $('html,body').animate({scrollTop: '0px'}, this.tTSpeed); // 火箭向上飞行 scrollTT.objFly(); // 火箭的喷气效果 scrollTT.blow(); }); // 鼠标在火箭上的效果 scrollTT.obj.mouseenter(function() { $(this).css('background-position', '-149px 0px'); }); // 鼠标移开的效果 scrollTT.obj.mouseleave(function() { $(this).css('background-position', '0px 0px'); }); }, /* * 向window 绑定scroll 事件 * */ onScroll : function() { $(window).on('scroll', function() { if ($(window).scrollTop()>500){ scrollTT.obj.fadeIn(500); }else{ scrollTT.obj.fadeOut(1500); } }); }, /** * dom对象向上飞行 * */ objFly : function() { var fly = setTimeout(function(){ scrollTT.obj.animate({top: '-500px'} ,'normal', 'swing'); scrollTT.resetFly(); clearTimeout(fly); clearInterval(scrollTT.flyTemp); }, scrollTT.startFlyTime); }, /** * dom 对象飞行完毕回到原来的位置 * */ resetFly : function() { var fly2 = setTimeout(function() { scrollTT.obj.hide(); scrollTT.obj.css("top", 'auto'); scrollTT.obj.css("background-position", '0px 0px'); scrollTT.onScroll(); clearTimeout(fly2); },scrollTT.restartTime); }, /** * dom 对象的喷气效果 * */ blow : function() { var topPosiiton = -149; scrollTT.flyTemp = setInterval(function() { topPosiiton += -149; if(topPosiiton < -743) { topPosiiton = -149 } scrollTT.obj.css('background-position', topPosiiton + 'px 0px'); }, this.flySpeed); } }; scrollTT.init(); |
---|
- Angular企业级开发(4)-ngResource和REST介绍
- CSS魔法堂:"那不是bug,是你不懂我!" by inline-block
- scala 学习笔记(03) 参数缺省值、不定个数参数、类的属性(Property)、泛型初步
- Cmd Markdown编辑器简明语法手册
- 如何让spring mvc web应用启动时就执行特定处理
- CSS魔法堂:小结一下Box Model与Positioning Scheme
- jboss EAP 6.2+ 通过代码控制JNDI数据源
- jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)
- WebComponent魔法堂:深究Custom Element 之 面向痛点编程
- 修复bootstrap daterangepicker中的3个问题
- 搭建AngualarJS开发环境
- CSS魔法堂:重拾Border之——更广阔的遐想
- Jboss EAP:native management API学习
- linux:手动校准系统时间和硬件CMOS时间
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- LNMP架构应用实战——PHP扩展及缓存插件安装
- python第二十六课——装饰器
- LNMP架构应用实战——openssl升级最新版本
- python第二十七课——os模块
- python第二十八课——编码小常识
- Linux系统——KVM虚拟机安装与管理
- python第二十九课——文件读写(读取读取中文字符)
- python第二十九课——文件读写(readline()和readlines()的使用)
- linux系统运维企业常见面试题集合(一)
- python第二十九课——文件读写(写数据的操作)
- python第二十九课——文件读写(复制文件)
- python第三十课--异常(异常处理定义格式和常见类型)
- python第三十课--异常(finally讲解)
- python第三十课--异常(else讲解)
- Linux系统——shell脚本编程基础介绍