我的编程空间,编程开发者的网络收藏夹
学习永远不晚

jQuery中怎么实现视差滚动

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

jQuery中怎么实现视差滚动

本篇文章给大家分享的是有关jQuery中怎么实现视差滚动,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

1 – 创建基本的html

首先创建最基本的html文件架构 ,这个就不多说了,代码如下:

<div id="header">             <h2 id="logo">Clouds demo</h2>          <ul id="menu">              <li><a href="#box1" class="link">Home</a></li>              <li><a href="#box2" class="link">Box 2</a></li>              <li><a href="#box3" class="link">Box 3</a></li>              <li><a href="#box4" class="link">Box 4</a></li>        </ul>      </div><!-- end header -->      <div id="wrapper">          <ul id="mask">              <li id="box1" class="box">                  <a name="box1"></a>                  <div class="content"><div class="inner">主页</div></div>              </li><!-- end box1 -->              <li id="box2" class="box">                  <a name="box2"></a>                  <div class="content"><div class="inner">Box 2</div></div>              </li><!-- end box2 -->              <li id="box3" class="box">                  <a name="box3"></a>                  <div class="content"><div class="inner">Box 3</div></div>              </li><!-- end box3 -->              <li id="box4" class="box">                  <a name="box4"></a>                  <div class="content"><div class="inner">Box 4</div></div>              </li><!-- end box4 -->          </ul><!-- end mask -->      </div><!-- end wrapper -->

定义一个header的ID标记,然后下面有个四个导航,用于切换的

2 &ndash; 一些CSS代码

创建一个新的CSS文件 ,把它定义成layout.css

  html                { background:#67b2ff; font-family:Arial, Helvetica, sans-serif; }         h1#logo                { background:url(../images/Logo.png) top left no-repeat; height:62px; width:481px;                           text-indent:-9999px; position:absolute; top:10px; left:10px; }       #menu                { float:right; position:absolute; top:20px; right:10px; z-index:10; }       #menu a                { background:#FFF; color:#67b2ff; border:#AAA 3px solid;  text-decoration:none; padding:10px;                           margin-right:10px; border-radius:10px; -moz-border-radius:10px; -webkit-border-radius:10px;}       #menu a:hover        { background:#67b2ff; color:#FFF; border:#FFF 3px solid; text-decoration:none; padding:10px;                           margin-right:10px; border-radius:10px; -moz-border-radius:10px; -webkit-border-radius:10px;}       #menu li            { float:left; }         #wrapper    { width:100%; height:100%; position:absolute; top:0; left:0; overflow:hidden; }       #mask        { width:400%; height:100%; }       .box        { width:25%; height:100%; float:left; }       .content    { width:960px; height:400px; top:20%; margin: 0 auto; position:relative; background:rgba(255,255,255, 0.3);                   border-radius:35px; -moz-border-radius:35px; -webkit-border-radius:35px; }       .inner        { width:920px; height:360px; background:rgba(255, 255, 255, 0.3); border-radius:30px; -moz-border-radius:30px;                       -webkit-border-radius:30px; margin:5px; padding:15px; top:5px; position:relative; }

这些CSS代码相信你能看到吧,我简单解释一下 ,我们把需要滚动的区域放在id为wrapper的DIV内,无论他在那个地方一定要保证他滚动的固定性。id为mask的标记做为具体的滑动实现,他的宽度是100%,因为这里有4个区域需要全屏滚动,所以他的宽度设置为400。

我们想让每个方形盒子在屏幕的中间,所以给每个方形盒子定义一个li元素哦。然后定义CSS3 border-radius圆角和rgba背景颜色来创建一个半透明的漂亮边框圆角效果,到这里为止创建的效果如下所示。

jQuery中怎么实现视差滚动

第3步 - 使用jQuery来创建效果

上面基本的网站架构做好之后并没有使用javascript,现在我们开始使用jquery创建有趣的滚动效果,我们使用ScrollTo的jquery插件来达到我们想要的效果,首先引入jquery文件。

<script type="text/javascript" class="lazy" data-src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>  <script type="text/javascript" class="lazy" data-src="http://flesler-plugins.googlecode.com/files/jquery.scrollTo-1.4.2-min.js"></script>

然后打开这个文件看到最基本的jquery语法。

$(document).ready(function() {            $('a.link').click(function () {                $('#wrapper').scrollTo($(this).attr('href'), 800);              return false;            });        });

就这么简单,看看这个代码做个什么。

1,确保整个页面加载之前运行脚本。

2 ,增加了点击监听所有<a>标签。在这种情况下,这是我们的导航菜单中的所有链接,但我们可以添加“链接”类行为的任何页面上的链接。然后,我们指定一个动作,点 击检测功能。

3 呼吁#包装的div的scrollTo插件,并传递给它的目的地,并以毫秒为单位的时间来完成动画。

4取消点击浏览器的默认行为。

现在我们知道如何滚动一个特定的div的内容,让我们在头部背景增加自己的DIV内容

<div id="cloud1" class="clouds"> <div id="clouds-small"></div> </div><!-- end clouds --> <div id="cloud2" class="clouds"> <div id="clouds-big"></div> </div><!-- end clouds -->

增加CSS效果代码

 .clouds        { width:100%; height:262px; overflow:hidden; }  #clouds-small    { width:3000px; height:100%; background:url(../images/bg-clouds-small.png) repeat-x;}  #cloud2        { position:relative; top:-262px; }  #clouds-big    { width:4000px; height:100%; background:url(../images/bg-clouds-big.png) repeat-x;}

上面的代码,我增加了尺寸和背景图片的div,全屏宽度,以适应滚动和定位,效果如下图

jQuery中怎么实现视差滚动

第4步 - 完成所有的动作

我们几乎完成了!之前,我使用了scrollTo插件来进行移动,我需要写一个小的辅助功能,将告诉它移动定位到那个DIV。将有4点,我们需要设置,

function setPosition(check, div, p1, p2, p3, p4) {       if(check==='#box1')           {               $(div).scrollTo(p1, 800);           }       else if(check==='#box2')           {               $(div).scrollTo(p2, 800);           }       else if(check==='#box3')           {               $(div).scrollTo(p3, 800);           }       else           {               $(div).scrollTo(p4, 800);           }   };
$(document).ready(function() {         $('a.link').click(function () {             $('#wrapper').scrollTo($(this).attr('href'), 800);           //add this line           setPosition($(this).attr('href'), '#cloud1', '0px', '400px', '800px', '1200px')           //end add this           return false;         });     });

到这里每个云将移动400个像素,看他们之间的差异像素大小

$(document).ready(function() {            $('a.link').click(function () {            $('#wrapper').scrollTo($(this).attr('href'), 800);          setPosition($(this).attr('href'), '#cloud1', '0px', '400px', '800px', '1200px')          //add this line          setPosition($(this).attr('href'), '#cloud2', '0px', '800px', '1600px', '2400px')          //end add this          return false;        });    });

添加后续的云div,注意这里的div设置成800个像素了,这点需要大家注意

$(document).ready(function() {         $('a.link').click(function () {             $('#wrapper').scrollTo($(this).attr('href'), 800);           setPosition($(this).attr('href'), '#cloud1', '0px', '400px', '800px', '1200px')           setPosition($(this).attr('href'), '#cloud2', '0px', '800px', '1600px', '2400px')           //add this           $('a.link').removeClass('selected');             $(this).addClass('selected');           //end add this           return false;         });     });
#menu a.selected {   background:#AAA;   color:#FFF;   border:#67b2ff 3px solid;   text-decoration:none;   padding:10px;  margin-right:10px;   border-radius:10px;   -moz-border-radius:10px;   -webkit-border-radius:10px;  }

以上就是jQuery中怎么实现视差滚动,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

jQuery中怎么实现视差滚动

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

聊聊JavaScript怎么实现视差滚动

本篇文章给大家带来了关于js的相关知识,其中主要跟大家聊一聊有关视差滚动效果,以及如何用js实现视差滚动 ,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。
2023-05-14

Android中如何实现视差滚动

这篇文章将为大家详细讲解有关Android中如何实现视差滚动,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是视差滚动?视差滚动原本是一个天文学术语,当我们观察星空的时候,离我们比较远的星星移动速度比较
2023-06-22

JavaScript如何实现视差滚动效果

本文小编为大家详细介绍“JavaScript如何实现视差滚动”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript如何实现视差滚动”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概念视差滚动效果是一种
2023-07-05

jquery怎么实现楼层滚动特效

这篇“jquery怎么实现楼层滚动特效”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jquery怎么实现楼层滚动特效”文章吧
2023-06-30

jquery数字滚动效果怎么实现

您可以使用jQuery的.animate()方法来实现数字滚动效果。首先,您需要一个HTML元素来显示数字。例如,一个div元素:```html0
2023-08-09

Android怎么实现加载视差动画效果

本篇内容主要讲解“Android怎么实现加载视差动画效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android怎么实现加载视差动画效果”吧!基础知识继 Android实现旋转动画的两种方式
2023-06-20

jquery怎么实现文字上下滚动效果

你可以使用jQuery的animate()方法来实现文字的上下滚动效果。以下是一个示例代码:HTML部分:```htmlLorem ipsum dolor sit ametConsectetur adipiscing elitSed do
2023-08-09

jQuery怎么实现表格行数据滚动效果

这篇文章主要讲解了“jQuery怎么实现表格行数据滚动效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jQuery怎么实现表格行数据滚动效果”吧!HTML代码:
2023-06-20

怎么使用JQuery插件Marquee.js实现无缝滚动效果

这篇“怎么使用JQuery插件Marquee.js实现无缝滚动效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用JQ
2023-07-04

react怎么实现滚动条

react实现滚动条的方法:1、使用“render() {const translateDistancePercentage...}”方式设置滚动条滚动百分比;2、通过“.scrollBar {width: 362px;...}”设置滚动条宽度;3、设置样式为“left: -362px;top: 0px;position: absolute;”即可。
2023-05-14

textarea滚动条怎么实现

可以通过CSS样式来实现textarea滚动条的样式,具体实现如下:1. 首先给textarea添加样式overflow: auto,这样在textarea内容超过容器高度时会出现滚动条。2. 接着通过CSS伪类选择器来设置滚动条的样式,比
2023-06-08

css怎么实现元素不随滚动条滚动

今天小编给大家分享的是css怎么实现元素不随滚动条滚动,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来
2023-06-14

在WPF中怎么实现平滑滚动

本篇内容介绍了“在WPF中怎么实现平滑滚动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!WPF实现滚动条还是比较方便的,只要在控件外围加上S
2023-07-02

编程热搜

目录