jQuery Scroll Path是一个jQuery的滚动路径插件,可以让你自定义滚动路径。该插件是使用canvas flavored的语法来绘制路径。可以通过鼠标滚轮上/下箭头键和空格键来查看路径效果;空格键的查看速度会比鼠标滚动的效果快;当你按住Shift键的时候再按空格键时,路径将会向后滚动。除此之外,我们还可以通过这个插件来自定义滚动条。
在滚动路径的时候我们还可以结合使用css来进行变换,使页面可以发生丰富的变换效果。在有些浏览器中,是不支持css变换效果,那所有的旋转切换将会忽略不计,但仍然遵循自定义的路径。

1,下载jQuery Scroll Path的框架

开源中国中下载

https://www.oschina.net/p/scrollpath

2,在自己的html中导入框架

link:

<link rel="stylesheet" type="text/css" href="style/style.css" />
<link rel="stylesheet" type="text/css" href="style/scrollpath.css" />
<link href="http://fonts.googleapis.com/css?family=Terminal+Dosis&subset=latin" rel="stylesheet" type="text/css">

script

先引入jQuery

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>

再引入其他js框架

<script type="text/javascript" src="script/lib/prefixfree.min.js"></script>
<script type="text/javascript" src="script/lib/jquery.easing.js"></script>
<script type="text/javascript" src="script/jquery.scrollpath.js"></script>
<script type="text/javascript" src="script/demo.js"></script>

不知道什么鬼

<!-- <link href="http://fonts.googleapis.com/css?family=Terminal+Dosis&subset=latin" rel="stylesheet" type="text/css">
-->
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

内容中可以添加自己需要的东西,也可以圈在一个固定的空间里  达到炫酷的效果

<!-- 第一个 -->
<div class="settings">
<a href="" class="show-path">Show Path</a>
</div>

<div class="wrapper">
<!-- 标题 -->
<div class="demo">
<h1>jQuery Scroll Path</h1>
<span class="arrow">&darr;</span> A Quick Demo <span class="arrow">&darr;</span>
</div>
<!-- 图一 -->
<div class="description">
<img src="img/01.png" class="big">
</div>

<!-- 图二 -->
<div class="syntax">
<img src="img/02.png" class="big">
</div>

<!-- 图三 -->
<div class="scrollbar">
<img src="img/03.png" class="big">
</div>

<!-- 图四 -->
<div class="rotations">
<img src="img/04.png" class="big">
<span class="upside-down big">in <a href="http://caniuse.com/#feat=transforms2d">supported</a> browsers.</span>
</div>

<!-- 图五 -->
<div class="source">
<img src="img/03.png" class="big">
</div>

<!-- 图六 -->
<div class="follow">
<span class="big">Feel free to <a href="https://twitter.com/JoelBesada">follow me</a> on Twitter. You can also be <span class="count">a kind person and</span> <a href="https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Ftwitter.com%2Fabout%2Fresources%2Fbuttons&source=tweetbutton&text=jQuery%20Scroll%20Path%20Plugin&url=http%3A%2F%2Fjoelb.me%2Fscrollpath%2F&via=JoelBesada" class="tweet">tweet</a> this.</span>
</div>
</div>

翻译js代码  demo.jsscript/demo.js

$(document).ready(init);
 
function init() {
    /* ========== DRAWING THE PATH AND INITIATING THE PLUGIN ============= */
 
    $.fn.scrollPath("getPath")
        // 移到 'start' 元素
        .moveTo(400, 50, {name: "start"})
        // 写路径到 'description' 元素
        .lineTo(400, 800, {name: "description"})
        // 弧度和写路径到 'syntax'
        .arc(200, 1200, 400, -Math.PI/2, Math.PI/2, true)
        .lineTo(600, 1600, {
            callback: function() {
                highlight($(".settings"));
            },
            name: "syntax"
        })
        // 继续写路径到 'scrollbar'
        .lineTo(1750, 1600, {
            callback: function() {
                highlight($(".sp-scroll-handle"));
            },
            name: "scrollbar"
        })
        // 画弧,然后旋转
        .arc(1800, 1000, 600, Math.PI/2, 0, true, {rotate: Math.PI/2 })
        //写路径到 'rotations'
        .lineTo(2400, 750, {
            name: "rotations"
        })
        // 旋转到位
        .rotate(3*Math.PI/2, {
            name: "rotations-rotated"
        })
        // 继续画路径到 'source'
        .lineTo(2400, -700, {
            name: "source"
        })
        // 向下的小弧
        .arc(2250, -700, 150, 0, -Math.PI/2, true)
 
        //写路径到 'follow'
        .lineTo(1350, -850, {
            name: "follow"
        })
        // 画弧与旋转返回开始
        .arc(1300, 50, 900, -Math.PI/2, -Math.PI, true, {rotate: Math.PI*2, name: "end"});
 
    //上面完成了路径的设置, 接下来实始化到 wrapper 元素上
    $(".wrapper").scrollPath({drawPath: true, wrapAround: true});
 
    // 给导航链接加上点击滚动事件
    $("nav").find("a").each(function() {
        var target = $(this).attr("href").replace("#""");
        $(this).click(function(e) {
            e.preventDefault();
             
            //引入 jQuery easing  (http://gsgd.co.uk/sandbox/jquery/easing/)
            // 使用 easing functions 如下
            $.fn.scrollPath("scrollTo", target, 1000, "easeInOutSine");
        });
    });
 
    /* ===================================================================== */
 
    $(".settings .show-path").click(function(e) {
        e.preventDefault();
        $(".sp-canvas").toggle();
    }).toggle(function() {
        $(this).text("隐藏路径");
    }, function() {
        $(this).text("显示路径");
    });
 
    $(".tweet").click(function(e) {
        open(this.href, """width=550, height=450");
        e.preventDefault();
    });
 
    }
 
 
function highlight(element) {
    if(!element.hasClass("highlight")) {
        element.addClass("highlight");
        setTimeout(function() { element.removeClass("highlight"); }, 2000);
    }
}
function ordinal(num) {
    return num + (
        (num % 10 == 1 && num % 100 != 11) ? 'st' :
        (num % 10 == 2 && num % 100 != 12) ? 'nd' :
        (num % 10 == 3 && num % 100 != 13) ? 'rd' 'th'
    );
}

jQuery Scroll Path 滚插视图酷炫的更多相关文章

  1. 一个酷炫的,基于HTML5,Jquery和Css的全屏焦点图特效,兼容各种浏览器

    基于HTML5和CSS的焦点图特效,梅花图案的背景很有中国特色,而且还会动哦,效果超炫,推荐下载! 演示图 html代码 <!DOCTYPE html PUBLIC "-//W3C// ...

  2. 【Android】 给我一个Path,还你一个酷炫动画

    本篇文章已授权微信公众号 hongyangAndroid (鸿洋)独家公布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/53040506 ...

  3. Android常用酷炫控件(开源项目)github地址汇总

    转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...

  4. MVC中使用SignalR打造酷炫实用的即时通讯功能附源码

    前言,现在这世道写篇帖子没个前言真不好意思发出来.本贴的主要内容来自于本人在之前项目中所开发的一个小功能,用于OA中的即时通讯.由于当时走的太急,忘记把代码拿出来.想想这已经是大半年前的事情了,时间过 ...

  5. MVC中使用SignalR打造酷炫实用的即时通讯功能(轉載)

    資料來源:http://www.fangsi.net/1144.html 前言,现在这世道写篇帖子没个前言真不好意思发出来.本贴的主要内容来自于本人在之前项目中所开发的一个小功能,用于OA中的即时通讯 ...

  6. 纯CSS3实现的一些酷炫效果

    之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的. 一.笑脸猫动画 实现效果如下: 这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整. 1.先看 ...

  7. 三分钟学会用 js + css3 打造酷炫3D相册

    之前发过该文,后来不知怎么回事不见了,现在重新发一下. 中秋主题的3D旋转相册 如图,这是通过Javascript和css3来实现的.整个案例只有不到80行代码,我希望通过这个案例,让正处于迷茫期的j ...

  8. 【CSS进阶】试试酷炫的 3D 视角

    写这篇文章的缘由是因为看到了这个页面: 戳我看看(移动端页面,使用模拟器观看) 运用 CSS3 完成的 3D 视角,虽然有一些晕3D,但是使人置身于其中的交互体验感觉非常棒,运用在移动端制作一些 H5 ...

  9. 纯CSS3写的10个不同的酷炫图片遮罩层效果【转】

    这个是纯CSS3实现的的10个不同的酷炫图片遮罩层效果,可以欣赏一下 在线预览 下载地址 实例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

随机推荐

  1. Ubuntu安装CUDA9.2(不更新驱动)

    1.先装驱动,以为安装CUDA时安装最新驱动导致CUDA用不了 sudo apt-get install nvidia-396 2.参考这,安装好CUDA 9.2 https://developer. ...

  2. 关于CoCreateInstance的0x800401f0问题

    hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&g_pGr ...

  3. 3.Spring框架中的标签与配置文件分离

    1.Spring框架中标签的配置 1. id属性和name属性的区别 * id -- Bean起个名字,在约束中采用ID的约束,唯一 * 取值要求:必须以字母开始,可以使用字母.数字.连字符.下划线. ...

  4. 再不懂时序就 OUT 啦!,DBengine 排名第一时序数据库,阿里云数据库 InfluxDB 正式商业化!

    云数据库 InfluxDB® 版介绍 阿里云数据库 InfluxDB® 版已于近日正式启动商业化 . 云数据库 InfluxDB® 是基于当前最流行的开源数据库 InfluxDB 提供的在线数据库服务 ...

  5. 分布式事务中间件 Fescar—RM 模块源码解读

    前言 在SOA.微服务架构流行的年代,许多复杂业务上需要支持多资源占用场景,而在分布式系统中因为某个资源不足而导致其它资源占用回滚的系统设计一直是个难点.我所在的团队也遇到了这个问题,为解决这个问题上 ...

  6. resin乱码

    一.jsp乱码 为何jsp 在resin下乱码,但在tomcat下却工作良好的问题 关于JSP页面中的pageEncoding和contentType两种属性的区别:       pageEncodi ...

  7. 工控安全入门(五)—— plc逆向初探

    之前我们学习了包括modbus.S7comm.DNP3等等工控领域的常用协议,从这篇开始,我们一步步开始,学习如何逆向真实的plc固件. 用到的固件为https://github.com/ameng9 ...

  8. PAT甲级——A1036 Boys vs Girls

    This time you are asked to tell the difference between the lowest grade of all the male students and ...

  9. Leetcode500.Keyboard Row键盘行

    给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词.键盘如下图所示. 示例: 输入: ["Hello", "Alaska", "Dad& ...

  10. MySQL 普通注册插入优化。

    普通做法是: 用户通过手机号注册.默认是根据这个手机号去用户表里查询,看有没有这个手机号,有那么就提示已注册.否则就执行注册插入数据库操作.这里其实正常注册流程是两次数据库操作的(查询,插入): 优化 ...