waypoints的使用

一、最简易的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>waypoints的最简单使用</title>
    <!-- 定义css样式 -->
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        #example-basic{
            height: 500px;
            text-align: center;
        }
    </style>

    <!-- 引入js文件 -->
    <script src="js/jquery-3.0.0.min.js"></script>
    <script src="js/jquery.waypoints.js"></script>
    <script src="js/jquery-ui.min.js"></script>

    <!-- 启动waypoints -->
    <script>
    $(function () {
        $(‘#example-basic‘).waypoint(function() {
            console.log("hi,example-basic,你的顶部碰到了浏览器窗口的顶部!");//测试打开web调试器,看控制台信息
        });
    });
    //注:无论是鼠标向上或向下只要该元素的顶部碰到浏览器的顶部都会触发waypoints事件
    </script>

</head>
<body>
    <div style="background:#ccc;height:1800px;">one div</div>
    <div id="example-basic">example-basic.</div>
    <div style="background:#ccc;height:1800px;">one div</div>
</html>

二、能检测鼠标滚动方向的基本应用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>检测鼠标滚动方向</title>

    <style>
        *{
            padding: 0;
            margin: 0;
        }
        #example-basic{
            height: 500px;
            text-align: center;
        }
        .in{
            font-size: 36px;
            color: #ff0;
            background:red;
            transition:all 0.5s;
        }
    </style>

    <script src="js/jquery-3.0.0.min.js"></script>
    <script src="js/jquery.waypoints.js"></script>
    <script src="js/jquery-ui.min.js"></script>

    <script>
    $(function () {
        $(‘#example-basic‘).waypoint(
            function(direction){
                if(direction=="down"){
                    $(‘#example-basic‘).addClass("in");
                    $(‘#example-basic‘).html("你在向下滚动!")
                }else{
                    $(‘#example-basic‘).removeClass("in");
                    $(‘#example-basic‘).html("你在向上滚动!")
                }
            },//第1个参数为waypoints事件响应时所执行的代码,是一个匿名函数即可
            {
                offset:‘50%‘
            }//第2个参数为偏移量,本例即该div到窗口高度一半时触发
            );
    });
    </script>
</head>
<body>
    <div style="background:#ccc;height:1800px;">one div</div>
    <div id="example-basic">example-basic.</div>
    <div style="background:#ccc;height:1800px;">one div</div>
</html>

三、鼠标滚动加动画效果的应用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>加下动画效果的</title>

    <style>
        *{
            padding: 0;
            margin: 0;
        }
        div{
            background: #eee;
        }
        .banner{
            width: 1100px;
            margin: 0 auto;
        }
        .title{
            height: 100px;
            background: #9f9;
        }
        .lt{
            position: relative;
            height: 400px;
            border:1px dotted #999;
        }

        .lt_left{
            position: absolute;
            width: 500px;
            height: 300px;
            left: -20%;
            top: 0;
            margin-left: -550px;
            background: #f99;
        }
        .lt_right{
            position: absolute;
            width: 500px;
            height: 300px;
            left: 120%;
            top: 0;
            margin-left: 50px;
            background: #99f;
        }
    </style>

    <script src="js/jquery-3.0.0.min.js"></script>
    <script src="js/jquery.waypoints.js"></script>
    <script src="js/jquery-ui.min.js"></script>

    <script>
    $(function () {
        //获取运动的盒子
        var boxElemets = $(‘.boxaction‘);
        $.each(boxElemets, function() {
            $(this).attr(‘init‘, ‘false‘);
        }); 

        //判断是否出现在浏览器界面里面!
        function isScrolledIntoView(elem) {
            var docViewTop = $(window).scrollTop();
            var docViewBottom = docViewTop + $(window).height();
            var elemTop = $(elem).offset().top;
            if (elemTop + 50 < docViewBottom) {
                return true
            } else {
                return false
            }
        }

        //定义动画
        function animateInit() {
            $.each(boxElemets, function() {
                if ($(this).attr(‘init‘) == ‘false‘ && isScrolledIntoView($(this))) { //没有显示过且刚出现在浏览器界面
                    $(this).attr(‘init‘, ‘true‘);
                    $(this).animate({
                        ‘left‘: ‘50%‘
                    }, 1000, ‘easeOutCubic‘);
                }
            });
        }

        animateInit(); //先执行一次animateInit
        $(window).scroll(function() { //滑动执行animateInit
            animateInit();
        });
    })
    </script>
</head>
<body>
    <div style="background:#ccc;height:1800px;text-align:center;">top div</div>
    <div class="banner">
        <div class="title">这是标题</div>
        <div class="lt">
            <div class="lt_left boxaction">这是左边盒子</div>
            <div class="lt_right boxaction">这是右边盒子</div>
        </div>
    </div>
</body>
</html>
时间: 2024-11-02 10:46:33

waypoints的使用的相关文章

Path Follow System using Waypoints C#

Path Follow System using Waypoints C#

67个拯救web开发者的工具、库和资源!

划重点 在本文中,我不会去谈 React.Angular.Vue 等等这些大的前端框架,也不会谈 Atom.VS code.Sublime 等等这些已经很出名的代码编辑器,我只是想简单的分享一套我认为有助于提升开发者工作流的工具集. 这套工具集中的大部分你可能见过,也可能没见过,如果有哪个让你眼前一亮,那么我的分享就很值了. 这个列表包含许多种类的资源,所以这里我将它们分组整理. Javascript 库 Particles.js-一个用来在 web 中创建炫酷的浮动粒子的库 Three.js-

Unity跑酷游戏中的路点生成算法

最近做了一个小的跑酷游戏,今天就我前几天写的 游戏玩家跟随在跑道上的路点行走的简单逻辑进行一下梳理,希望大家和我自己都能够有一定的进步. 下面我先说一下该款游戏的一些有必要知道的前提.跑道是动态生成的,而路点又是作为跑道子对象waypoints的子对象(简单而言,就是孙子对象)存在.所以,路点也就是动态创建,动态销毁了.我的思路是在游戏刚刚加载时,由RacetrackGenerator脚本类在初始化时先动态生成两个跑道,而每个跑道都有一个自己的WaypointsManager(路点管理器脚本),

20150311+微信-02

五.微信的3大发送接口 1.文本消息回复接口 文本XML模板 参考实例代码: 1)组装XML 2)使用文本消息回复 2.音乐回复接口 1)音乐消息接口XML模板: 2)使用音乐接口发送消息 效果: 扩展案例:在线音乐平台(作业) 思路: 关键词:音乐(文本消息接口) 如果是音乐回复,那么必须采用音乐回复接口: 重点有4个参数:标题\描述\标准链接\高清链接 3.图文接口(重点) 1)创建图文接口模板信息 2)使用单图文消息回复 3)使用多图文消息回复 效果如下: 六.订阅接口 微信5秒: 订阅接

moveit相关函数解释

//使用moveit需要的头文件#include <moveit/move_group_interface/move_group.h>#include <moveit/planning_scene_interface/planning_scene_interface.h> #include <moveit_msgs/DisplayRobotState.h>#include <moveit_msgs/DisplayTrajectory.h> #include

论文翻译之--- 软件设计师怎样使用标记来帮助提醒和重新查找

最近以来有个学习任务,就是翻译一篇关于软件工程相关的论文.我选择了一篇How Software Developers Tagging to Support Remingding and Refinding.由于本人水平有限,基本直译,有很多不准确不通之处.希望读到文章的人批评指导,大家交流改进,在此基础之上使得翻译和我个人的能力得以提高.我记录了自己工作的时间,确实这篇文章的翻译耗费了我一定的时间.文章来自IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VO

前端组件库

//来源:http://www.cnblogs.com/liuzhibin/p/5944821.html 0. 前端自动化(Workflow) 前端构建工具 Yeoman – a set of tools for automating development workflow gulp – The streaming build system grunt – the JavaScript Task Runner F.I.S – 前端集成解决方案 前端模块管理器 Bower – A package

Unity FSM 有限状态机

翻译了一下unity wiki上对于有限状态机的案例,等有空时在详细写一下.在场景中添加两个游戏物体,一个为玩家并修改其Tag为Player,另一个为NPC为其添加NPCControl脚本,并为其将玩家角色和路径添加上去.(该案例利用状态机简单的实现了一个NPC的简单AI---巡逻---看到玩家----追逐玩家----丢失玩家----巡逻) 效果: 状态机: 1 using System; 2 using System.Collections; 3 using System.Collection

FSM有限状态机的实现

参考原地址:http://www.manew.com/thread-48266-1-1.html 在查看了这么多状态机的文章后,终于找到个看懂的了,在此很感谢那位作者.果然还是要把代码下载下来慢慢分析才知道. 普通的AI逻辑都很简单,都是switch/case这样的形式,这个形式跟简单工厂模式非常类似,然而我们的工作是把模式改为工厂模式,即把那些case改为单独的状态类. 先从最简单的状态类来说明,先来一个状态抽象基类:FSMState.所有的状态类都继承自这个基类,比如巡逻类.攻击类.作为所有