使用js实现滑动页面效果,很漂亮
来源:互联网 发布:淘宝达人猝死 编辑:程序博客网 时间:2024/05/22 14:18
使用了一个现成的js
先贴html
glider.js
还有2个js,内容太多,这里先不贴出来
先贴html
- <html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=gb2312">
- <title>滑动页面效果示例</title>
- <link rel="stylesheet" href="stylesheets/glider.css" type="text/css" media="screen" charset="utf-8">
- <script src="javascripts/prototype.js" type="text/javascript" charset="utf-8"></script>
- <script src="javascripts/effects.js" type="text/javascript" charset="utf-8"></script>
- <script src="javascripts/glider.js" type="text/javascript" charset="utf-8"></script>
- </head>
- <body>
- <h1>滑动页面效果示例(Glider.js)</h1>
- <div id="my-glider">
- <div class="controls">
- <a href="#HTML1">HTML 1</a> |
- <a href="#HTML2">HTML 2</a> |
- <a href="#HTML3">HTML 3</a> |
- </div>
- <div class="scroller">
- <div class="content">
- <div class="section" id="HTML1">
- HTML 1
- <object style="border:0px" type="text/x-scriptlet" data="1.html" width=100% height="500px"></object>
- </div>
- <div class="section" id="HTML2">
- HTML 2
- <object style="border:0px" type="text/x-scriptlet" data="2.html" width=100% height="500px"></object>
- </div>
- <div class="section" id="HTML3">
- HTML 3
- <p>一个youtube篮球视频</p>
- <object width="200" height="150">
- <param name="movie" value="http://www.youtube.com/v/Ef-f7EeDpYI"></param>
- <param name="wmode" value="transparent"></param>
- <embed src="http://www.youtube.com/v/Ef-f7EeDpYI" type="application/x-shockwave-flash" wmode="transparent" width="200" height="150"></embed>
- </object>
- </div>
- </div>
- </div>
- </div>
- <a href="#" onClick="my_glider.previous();return false;">Previous</a> | <a href="#" onClick="my_glider.next();return false">Next</a>
- <script type="text/javascript" charset="utf-8">
- var my_glider = new Glider('my-glider', {duration:0.5});
- </script>
- </body>
- </html>
glider.js
- /**
- * @author Bruno Bornsztein <bruno@missingmethod.com>
- * @copyright 2007 Curbly LLC
- * @package Glider
- * @license MIT
- * @url http://www.missingmethod.com/projects/glider/
- * @version 0.0.3
- * @dependencies prototype.js 1.5.1+, effects.js
- */
- /* Thanks to Andrew Dupont for refactoring help and code cleanup - http://andrewdupont.net/ */
- Glider = Class.create();
- Object.extend(Object.extend(Glider.prototype, Abstract.prototype), {
- initialize: function(wrapper, options){
- this.scrolling = false;
- this.wrapper = $(wrapper);
- this.scroller = this.wrapper.down('div.scroller');
- this.sections = this.wrapper.getElementsBySelector('div.section');
- this.options = Object.extend({ duration: 1.0, frequency: 3 }, options || {});
- this.sections.each( function(section, index) {
- section._index = index;
- });
- this.events = {
- click: this.click.bind(this)
- };
- this.addObservers();
- if(this.options.initialSection) this.moveTo(this.options.initialSection, this.scroller, { duration:this.options.duration }); // initialSection should be the id of the section you want to show up on load
- if(this.options.autoGlide) this.start();
- },
- addObservers: function() {
- var controls = this.wrapper.getElementsBySelector('div.controls a');
- controls.invoke('observe', 'click', this.events.click);
- },
- click: function(event) {
- this.stop();
- var element = Event.findElement(event, 'a');
- if (this.scrolling) this.scrolling.cancel();
- this.moveTo(element.href.split("#")[1], this.scroller, { duration:this.options.duration });
- Event.stop(event);
- },
- moveTo: function(element, container, options){
- this.current = $(element);
- Position.prepare();
- var containerOffset = Position.cumulativeOffset(container),
- elementOffset = Position.cumulativeOffset($(element));
- this.scrolling = new Effect.SmoothScroll(container,
- {duration:options.duration, x:(elementOffset[0]-containerOffset[0]), y:(elementOffset[1]-containerOffset[1])});
- return false;
- },
- next: function(){
- if (this.current) {
- var currentIndex = this.current._index;
- var nextIndex = (this.sections.length - 1 == currentIndex) ? 0 : currentIndex + 1;
- } else var nextIndex = 1;
- this.moveTo(this.sections[nextIndex], this.scroller, {
- duration: this.options.duration
- });
- },
- previous: function(){
- if (this.current) {
- var currentIndex = this.current._index;
- var prevIndex = (currentIndex == 0) ? this.sections.length - 1 :
- currentIndex - 1;
- } else var prevIndex = this.sections.length - 1;
- this.moveTo(this.sections[prevIndex], this.scroller, {
- duration: this.options.duration
- });
- },
- stop: function()
- {
- clearTimeout(this.timer);
- },
- start: function()
- {
- this.periodicallyUpdate();
- },
- periodicallyUpdate: function()
- {
- if (this.timer != null) {
- clearTimeout(this.timer);
- this.next();
- }
- this.timer = setTimeout(this.periodicallyUpdate.bind(this), this.options.frequency*1000);
- }
- });
- Effect.SmoothScroll = Class.create();
- Object.extend(Object.extend(Effect.SmoothScroll.prototype, Effect.Base.prototype), {
- initialize: function(element) {
- this.element = $(element);
- var options = Object.extend({
- x: 0,
- y: 0,
- mode: 'absolute'
- } , arguments[1] || {} );
- this.start(options);
- },
- setup: function() {
- if (this.options.continuous && !this.element._ext ) {
- this.element.cleanWhitespace();
- this.element._ext=true;
- this.element.appendChild(this.element.firstChild);
- }
- this.originalLeft=this.element.scrollLeft;
- this.originalTop=this.element.scrollTop;
- if(this.options.mode == 'absolute') {
- this.options.x -= this.originalLeft;
- this.options.y -= this.originalTop;
- }
- },
- update: function(position) {
- this.element.scrollLeft = this.options.x * position + this.originalLeft;
- this.element.scrollTop = this.options.y * position + this.originalTop;
- }
- });
- 使用js实现滑动页面效果,很漂亮
- 使用js实现滑动页面效果,很漂亮
- Widget中使用js实现页面的滑动效果
- JS实现漂亮的淡蓝色滑动门效果代码
- 漂亮的JS图片滑动切换效果
- 使用js和layer.js实现漂亮的验证效果
- 实现页面滑动效果
- 使用 SVG 实现一个漂亮的页面预加载效果
- JQuery实现漂亮的滑动门效果
- 使用js实现按钮的滑动效果
- js禁止 页面滑动效果
- mootools 滑动 很漂亮的效果
- Android中使用ViewPager和PagerTabStrip实现页面滑动效果
- Android中使用ViewPager和PagerTabStrip实现页面滑动效果
- 使用SwipeBackLayout实现滑动退出页面的效果
- ionic2 使用tabs+slides实现滑动切换页面效果
- JS实现点击图片在当前页面放大的漂亮效果
- js实现滑动条效果
- BGP类型--IGP&EGP
- 通用分页查询
- SQL Server 2005 中实现行连接的技巧
- 关于串口调试
- 表格鼠标经过有底色的js
- 使用js实现滑动页面效果,很漂亮
- delphi 应用系统- c/s 客户端自动更新方案
- 守望轩-VS2008 每日提示-摘录
- 北大1274题
- GIS大讨论(八):GIS专业就业之地域篇
- 今天下午考六级
- 需求分析的重要性以及如何做好需求分析[转]
- Hi,CSDN!
- 关于Ubuntu的ip设置