requireJS模塊化實(shí)現(xiàn)返回頂部功能的方法詳解
本文實(shí)例講述了requireJS模塊化實(shí)現(xiàn)返回頂部功能的方法。分享給大家供大家參考,具體如下:
引用requireJs
<script src="require.js" data-main="main"></script>
html部分
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> body{padding: 0; margin: 0; height: 3000px} .btn{width: 80px; height: 80px; position: fixed; bottom: 0; left: 50%; background: #ddd} </style> <script src="require.js" data-main="main"></script> </head> <body> <div id="top" class="btn"></div> </body> </html>
新建main.js
require.config({ paths:{ jquery:'jquery' } }); requirejs(['jquery','backtop'],function($,backtop){ $('#top').backtop({ mode:"move", pos:100, dest:500, speed:20000 }) });
創(chuàng)建backtop模塊 backtop.js
/** * Created by Administrator on 2016/3/24. */ define(["jquery","scrollTo"],function($, scroll){ function backtop(el,opts){ this.opts = $.extend({},backtop.default,opts); this.$el = $(el); this.scroll = new scroll.scrollTo({ dest:this.opts.dest, speed:this.opts.speed }); this._checkPostion(); if(this.opts.mode == "move"){ this.$el.on("click", $.proxy(this._move,this)) }else{ this.$el.on("click", $.proxy(this._go,this)) } $(window).on("scroll", $.proxy(this._checkPostion,this)) }; backtop.prototype._move = function(){ this.scroll.move() }; backtop.prototype._go = function(){ this.scroll.go() }; backtop.prototype._checkPostion = function(){ if($(window).scrollTop() > this.opts.pos){ this.$el.fadeIn(); }else{ this.$el.fadeOut(); } } $.fn.extend({ backtop:function(opts){ return this.each(function(){ new backtop(this,opts); }) } }); backtop.default = { mode:"move", pos:100, dest:0, speed:800 } return{ backtop:backtop } })
backtop 依賴 scrollTo模塊
創(chuàng)建scrollTo.js
define(['jquery'],function($){ function scrollTo(opts){ this.opts = $.extend({},scrollTo.DEFAULTS,opts); this.$el = $("html,body"); } scrollTo.prototype.move = function(){ if($(window).scrollTop() != this.opts.dest){ //if(!this.$el.is(":animated")){ this.$el.animate({scrollTop:this.opts.dest},this.opts.speed); //} } }; scrollTo.prototype.go = function(){ this.$el.scrollTop(this.opts.dest) }; scrollTo.DEFAULTS = { dest:0, speed:800 }; return { scrollTo:scrollTo } });
希望本文所述對(duì)大家基于requireJS的程序設(shè)計(jì)有所幫助。
- 在Html中使用Requirejs進(jìn)行模塊化開(kāi)發(fā)實(shí)例詳解
- 基于RequireJS和JQuery的模塊化編程日常問(wèn)題解析
- 使用requirejs模塊化開(kāi)發(fā)多頁(yè)面一個(gè)入口js的使用方式
- 基于RequireJS和JQuery的模塊化編程——常見(jiàn)問(wèn)題全面解析
- JavaScript模塊化之使用requireJS按需加載
- 一篇文章掌握RequireJS常用知識(shí)
- SeaJS 與 RequireJS 的差異對(duì)比
- RequireJS多頁(yè)面應(yīng)用實(shí)例分析
- 在JavaScript應(yīng)用中使用RequireJS來(lái)實(shí)現(xiàn)延遲加載
- angularJS+requireJS實(shí)現(xiàn)controller及directive的按需加載示例
- 一個(gè)極為簡(jiǎn)單的requirejs實(shí)現(xiàn)方法
相關(guān)文章
JavaScript實(shí)現(xiàn)倒計(jì)時(shí)跳轉(zhuǎn)頁(yè)面功能【實(shí)用】
本文分享了JavaScript實(shí)現(xiàn)倒計(jì)時(shí)跳轉(zhuǎn)頁(yè)面功能的具體實(shí)例代碼,頁(yè)面代碼簡(jiǎn)單,直接拷貝就能運(yùn)行,頁(yè)面可以自己美化下哦。需要的朋友一起來(lái)看下吧2016-12-12JavaScript中Object基礎(chǔ)內(nèi)部方法圖
本篇文章通過(guò)一張?jiān)敿?xì)的JavaScript中Object基礎(chǔ)內(nèi)部方法圖介紹了其基本用法,需要的朋友參考下。2018-02-02JS實(shí)現(xiàn)間歇滾動(dòng)的運(yùn)動(dòng)效果實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)間歇滾動(dòng)的運(yùn)動(dòng)效果,涉及javascript定時(shí)器觸發(fā)動(dòng)態(tài)改變頁(yè)面元素的相關(guān)操作技巧,需要的朋友可以參考下2016-12-12使用js判斷TextBox控件值改變?nèi)缓蟪霭l(fā)事件
這篇文章主要介紹了使用js判斷TextBox控件值改變?nèi)缓蟪霭l(fā)事件。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-03-03javascript過(guò)濾數(shù)組重復(fù)元素的實(shí)現(xiàn)方法
這篇文章主要介紹了javascript過(guò)濾數(shù)組重復(fù)元素的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-05-05