视差滚动效果Stellar.js使用教程(jQuery)

stellar.js 视差滚动插件 视差滚动插件 视差滚动(Parallax Scrolling)指网页滚动过程中,多层次的元素进行不同程度的移动,视觉上形成立体运动效果的网页展示技术 主要核心就是前景和背景以不同的速度移动,从而创造出3D效果。 这种效果可以给网站一个很好的补充。 下载地址 https://github.com/markdalgleish/stellar.js 特性 视差滚动效果酷炫,适合于个性展示的场合。 视差... 阅读详情

什么为视差滚动效果看看下面这个网站http://www.sosglobal.eu/en/,是否觉得很熟悉呢?逛外国网站经常可以看到这个效果,接下来我们就来看看基于jQuery的Stellar插件实现视差滚动效果。

Stellar.js是一款基于jQuery的插件,专业提供视差滚动效果30年,值得信赖。使用方法如下:
第一步,为元素对象添加 .stellar() 效果函数:

// 例如:
$(window).stellar();
// 或者:
$('#main').stellar();

如果是对 ‘window’ 添加效果函数,可以简写成这样:

$.stellar();

设定之后,该对象中的所有滚动背景或元素都会应用视差滚动效果。
元素滚动效果

不论是 absolute, relative 还是 fixed 定位的元素,要让其以不同速度滚动,只需为它添加如下属性:

<div data-stellar-ratio="2">

这里的比例值是相对于正常滚动速度来说的。所以,如果值为0.5,元素滚动速度为正常速度的一半;如果值为1,元素滚动速度不变;如果值为2,元素滚动速度为正常速度的2倍。

当比例值小于1时,可能会出现滚动不连贯的跳动现象,这时请将相应元素的 ‘position’ 设置为 fixed 。
背景滚动效果

同理,对于要使用视差滚动效果的背景图片,只需为它添加如下属性:

<div data-stellar-background-ratio="0.5">

这里的比例值和上面的一样。为了避免出现滚动不连贯的跳动现象,请将相应元素的 ‘background-attachment’ 设置为 fixed 。
设置偏移

Stellar.js最强大的功能莫过于其对元素的排列对齐

当偏移容器到达屏幕边缘——或者到达设定的偏移位置时,容器内的所有元素刚好对齐。这样一来,你就能轻易地构造出复杂的视差滚动效果。

要同时给所有元素设置偏移,请传入以下参数:

$.stellar({
horizontalOffset: 40, //设置横向偏移,默认单位:px
verticalOffset: 150 //设置纵向偏移,默认单位:px
});

你也可以单独给元素添加以下data属性:

<div data-stellar-ratio="2"
data-stellar-horizontal-offset="40"
data-stellar-vertical-offset="150">

设置偏移容器

默认情况下,偏移是相对于偏移容器来说的(,而非相对于容器内的元素)。也就是说,容器内的元素是absolute定位,而容器本身是relative定位。(可能我自己能理解原文的意思,但是不好用中文表述..原文:By default, offsets are relative to the element’s offset parent. This mirrors the way an absolutely positioned element behaves when nested inside an element with a relative position.)

所谓的“偏移容器”,遵循CSS规则,只要某个子元素的父元素 position 属性为relative 或者 absolute ,那么该父元素就是其偏移容器了。

如果要指定DOM中其他祖先元素为该子元素的偏移容器,请为该祖先元素添加如下的data属性:

<div data-stellar-offset-parent="true">

您也可以单独对偏移容器设置偏移:

<div data-stellar-offset-parent="true"
data-stellar-horizontal-offset="40"
data-stellar-vertical-offset="150">

以上各个偏移的优先级同样遵循CSS规则,从高到低依次是 元素属性 > 偏移容器属性 > JavaScript传入的属性。

(此时,由于设置了偏移容器,当蓝色框的边缘到达偏移位置时,所有星星同时对齐,形成整个单词)

此时只有当每个黄色框的边缘分别到达偏移位置时,其中的星星才会对齐,构成字母。因为此时,每个字母对应的 div 层即是其默认的偏移容器。

首页中,正是通过指定 h2 为偏移容器,我们才能保证星星的对齐是基于 h2,而不是DOM树中下一级的 div 元素,从而实现预期的效果。(一次形成整个单词而不是一个一个字母出现)
设置滚动和定位

通过设置 scrollProperty 的值,你可以设置元素的滚动方式,比如设置为CSS3的 ‘transform’ ,那么代码该这么写:

$('#gallery').stellar({
scrollProperty: 'transform'
});

通过使用CSS3的 ‘transform’ ,我们才能实现 iOS 上的视差滚动 。

同样,你也可以通过设置 positionProperty 的值,来设置元素的定位方式,比如同样设置为CSS3的 ‘transform’ ,那么代码该这么写:

$('#gallery').stellar({
positionProperty: 'transform'
});

关于 scrollProperty 和 positionProperty 这两个属性可用的属性值,请参考下面的“所有属性”小节

如果内置的属性值不能满足你的需求,你还可以 自定义插件
所有属性

下面列出了Stellar.js内置的所有可用属性,以及它们的默认属性值:

$.stellar({
// 设置滚动的方向是“竖直方向”还是“水平方向”,或者两个方向都有
horizontalScrolling: true, //默认水平方向开启滚动
verticalScrolling: true, //默认竖直方向开启滚动
// 设置全局偏移
horizontalOffset: 0, //默认水平偏移为0
verticalOffset: 0, //默认竖直偏移为0
// 窗口加载完毕或者改变大小时是否刷新滚动元素
responsive: false, //默认不刷新
// 设置滚动方式
// 可以选择 'scroll', 'position', 'margin' 或者 'transform'
// 或者 使用自己定义的 'scrollProperty' 插件.
scrollProperty: 'scroll', //默认为 'scroll'
// 设置定位方式
// 可以选择 'position' 或者 'transform'
// 或者 使用自己定义的 'positionProperty' 插件.
positionProperty: 'position', //默认为 'position'
// 设置两种滚动效果的开关
parallaxBackgrounds: true, //默认开启背景滚动
parallaxElements: true, //默认开启元素滚动
// 滚动元素滚动到视口(viewport)以外时是否隐藏
hideDistantElements: true, //默认为隐藏
// 自定义元素如何出现和消失
hideElement: function($elem) { $elem.hide(); },
showElement: function($elem) { $elem.show(); }
});

使用自己定义的 ‘scrollProperty’ 插件

作为一个功能强大的插件,Stellar.js 内置以下滚动属性值:
‘scroll’, ‘position’, ‘margin’ 和 ‘transform’

如果以上属性值已经无法满足你要使用的滚动效果了,不妨自己写一个插件~ 比如说,内置的属性值没有 ‘margin’,那么你可以这样定义 ‘margin’:

$.stellar.scrollProperty.margin = {
getLeft: function($element) {
return parseInt($element.css('margin-left'), 10) * -1;
},
getTop: function($element) {
return parseInt($element.css('margin-top'), 10) * -1;
}
}

然后,直接传入该 ‘scrollProperty’ 属性值就好了:

$.stellar({
scrollProperty: 'margin'
});

使用自己定义的 ‘positionProperty’ 插件

作为一个功能强大的插件,Stellar.js 内置以下两个定位属性值:’position’ 和 ‘transform’。前者通过css的 top 和 left 属性来定位元素,后者通过css3中的transforms来定位元素。

同样,如果你需要对元素的定位进行更好的控制,不妨自己写一个插件~比如说,内置的属性值没有 ‘position’,那么你可以这样定义 ‘position’:

$.stellar.positionProperty.position = {
setTop: function($element, newTop, originalTop) {
$element.css('top', newTop);
},
setLeft: function($element, newLeft, originalLeft) {
$element.css('left', newLeft);
}
}

同样,直接传入该 ‘positionProperty’ 属性值就好了:

$.stellar({
positionProperty: 'position'
});

如果你出于技术原因,要同时设置滚动和定位两个属性值,可以定义一个 ‘setPosition’ 函数:

$.stellar.positionProperty.foobar = {
setPosition: function($el, x, startX, y, startY) {
$el.css('transform', 'translate3d(' +
(x - startX) + 'px, ' +
(y - startY) + 'px, ' +
'0)');
}
}
$.stellar({
positionProperty: 'foobar'
});

原文地址 :http://www.qingdou.me/3611.html

Stellar.js视察滚动插件 目录 视差滚动插件 特性 原理 Stellar.js是什么? 引用 js包 引用html 引入CSS js调用函数 详细参数 视差滚动插件 视差滚动(Parallax Scrolling)指网页滚动过程中,多层次的元素进行不同程度的移动,视觉上形成立体运动效果的网页展示技术 主要核心就是前景和背景以不同的速度移动,从而创造出3D效果。 这种效果可以给网站一个很好的补充。 ... 阅读详情

相关推荐

ArcGIS License Server点击启动没反应,许可管理器无法启动怎么办

4 当我们再打开ArcGIS License Server Administrator的时候。3 在【服务】中找到【ArcGIS License Manager】双击。无法启动ArcGIS License Server的情况。在使用ArcGIS的过程中,我们经常会遇到。专注GIS领域知识分享,交流行业软件技巧。欢迎关注,不定期分享GIS各种问题和技巧。1 右击我的电脑——【管理】服务状态——启动,确定即可。启动类型选择——自动。

GIS蒲公英的博客 2万+

stellar.js_使用Stellar.js创建视差滚动网站

最近的现代网页设计的最大趋势之一是使用视差滚动效果。 在本教程中,我将向您展示如何在自己的网站上创建效果,并需要一点想象力,并需要Stellar.js的帮助。 现代视差jQuery插件 有兴趣节省一些时间并确保您使用的是现代最佳实践吗? Envato Market上有一个很棒的响应式jQuery滑块插件 ,可以完美地完成这项工作! 它已经在超过150,000个网站上使用。 介绍 ...

Web design 教程小屋 851

uni-app - 修改默认端口,H5 项目控制台运行出来的 IP 地址的默认端口号(H5 项目运行后控制台,修改项目运行到内置浏览器默认 8080 端口号)

uni-app运行到H5修改默认端口号,uni-app如何修改默认端口,uni-app修改默认端口,uni-app本地运行修改调试已上线微信H5项目,请问在UNIAPP的H5运行调试时候的IP是否可以自己设置固定,uni-app开发环境,如何设置h5服务器的端口,uni-app如何修改默认端,uni-app修改默认端口,uni-app指定端口号,uni-app-修改H5项目控制台运行出来的IP地址的默认端口号(H5项目运行后控制台,修改项目运行到内置浏览器默认8080端口号)

🏆 前端领域优质创作者 9844

流行的7款jQuery视差滚动效果js插件

Parallax这一术语来源于希腊单词parallaxis,原意是改变。在网页设计中,视差效果是一个相对较新的趋势。这一效果已经存在了一段时间,但最近才被广泛应用和讨论。 网页设计中的视差效果视差滚动是以分层的图像以不同的速度或角度在网页中移动,从而产生一种美妙而有趣的3D错觉为特色的技术。本文收集了一些使用视差效果的网站希望能带给你一些启发和灵感。此效果使得滚动网页成为一种有趣的体验

lzqial1987的专栏 3578

stellar视差插件

stellar视差插件 ​ 视差滚动指网页滚动过程中,多层次的元素进行不同程度的移动,视觉上形成立体运动效果的网页展示技术。主要核心就是前景和背景以不同速度移动,从而创造出3D效果。利用background-attachment属性实现。stellar.js是一个jQuery插件,能很容易地给网站添加视差滚动效果。以下介绍stellar的简单使用: 1....

weixin_30569001的博客 258

Stellar.js 制作视差滚动效果

Stellar.js 制作视差滚动效果 视差滚动 视差滚动是当用户滚动页面时,前景和背景以不同的速度移动,从而创造出3D效果Stellar.js stellar.js 是一个 jQuery插件,能很容易地给网站添加视差滚动效果。 步骤 html中的背景图标签 <div class="bg" data-stellar-background-ratio="0.3"></d...

qq_43618136的博客 384

16个最棒的jQuery视差滚动效果教程

今天我们整理了16个最棒的jQuery视差滚动效果教程, 并附有演示地址,你可以快速的查看教程效果,或者应用在自己的项目中。希望本文对想要学习或者使用jQuery视差效果的朋友有帮助,慢慢的欣赏吧! 原文地址:http://thetop16.com/top-jquery-parallax-scrolling-tutorials-258.html 1. Parallax EffectTut...

weixin_30410999的博客 193

Stellar.js终极指南:轻松实现惊艳的视差滚动效果

想要为你的网站添加令人惊叹的视差滚动效果吗?Stellar.js是你的完美选择!这款强大的jQuery插件让视差滚动变得异常简单,只需几行代码就能创建出专业级的视觉效果。🎯 ## 什么是Stellar.jsStellar.js是一个轻量级的jQuery插件,专门用于实现视差滚动效果视差滚动是指页面背景和前景元素以不同速度滚动,创造出深度和动态感。这款插件支持**视差元素**和**视差

gitblog_00296的博客 880

基于jquery Stellar.js实现 网站视差滚动效果

stellar.js是一个 jQuery插件,能很容易地给网站添加视差滚动效果。 虽然已经停止了维护,但它非常稳定,与最新版本的jQuery兼容。http://markdalgleish.com/projects/stellar.js/ 官网1.引用js 包&lt;script src="path/to/jquery/jquery.min.js"&gt;&lt;/script&gt; &lt;...

zero________________的博客 2183

Stellar.js高级技巧:嵌套视差与多重滚动效果实现

想要为你的网站增添令人惊艳的视觉深度吗?✨ Stellar.js作为一款强大的jQuery视差滚动插件,让视差效果变得简单易用。在这篇完整指南中,我将分享如何利用Stellar.js实现复杂的嵌套视差和多重滚动效果,让你的网站从众多竞争者中脱颖而出。 Stellar.js通过简单的数据属性和配置选项,就能创造出层次丰富的视觉体验。无论是背景图像的平滑移动,还是前景元素的动态响应,这个插件都能轻松

gitblog_00370的博客 892

jquery Stellar.js实现 网站视差滚动效果

stellar.js是一个 jQuery插件,能很容易地给网站添加视差滚动效果。 虽然已经停止了维护,但它非常稳定,与最新版本的jQuery兼容。 http://markdalgleish.com/projects/stellar.js/ 官网 1.引用js 包 <script src="path/to/jquery/jquery.min.js"></script&g...

易之晓的博客 488

OpenViking技能记忆实战:如何把Agent踩过的坑沉淀成可复用经验

OpenViking 是一个自进化上下文数据库(Self-evolving Context Database),它把 **Agent 记忆、知识 RAG 和 Skills** 统一存储与管理。本文将带你实战理解 OpenViking 的技能记忆机制:如何让 Agent 每次任务踩过的坑,自动沉淀为可复用、可检索、可审计的"经验",并在下次执行前主动召回。 [![OpenViking Agent

gitblog_00624的博客 974

Stellar.js实战教程:打造沉浸式滚动体验的10个技巧

Stellar.js是一款强大的jQuery视差滚动插件,能够为网页添加令人惊艳的立体视觉效果。这个轻量级的JavaScript库让视差滚动变得简单易用,无论是背景图片还是页面元素,都能通过简单的配置实现不同速度的滚动效果。如果你正在寻找一种快速提升网站视觉吸引力的方法,那么Stellar.js绝对是你的理想选择!🌟 ## 🎯 为什么选择Stellar.jsStellar.js最大的优

gitblog_00219的博客 1176

js刷新div_使用Stellar.js为网站添加滚动视差效果

近些年讨论得很热烈的设计趋势是视觉差滚动效果。不管你喜不喜欢,很多网站都在用它。发现Stellar.js 是一个偶然的机会,查看一个国外非常酷的网站源码的时候,发现它。然后再搜索一下得知Stellar.js是一个非常优秀的滚动视差插件。视差滚动(Parallax Scrolling)是什么?视差滚动是当用户滚动页面时,前景和背景以不同的速度移动,从而创造出3D效果。 这种效果可以给网站一个很好的补...

weixin_39561673的博客 160

Stellar.js核心原理深度解析:理解视差滚动的实现机制

视差滚动是现代网页设计中极具吸引力的交互效果,而Stellar.js作为一款轻量级的jQuery插件,让实现这一效果变得异常简单。本文将深入解析Stellar.js的核心工作原理,帮助你彻底理解视差滚动的实现机制。✨ ## 什么是视差滚动效果视差滚动(Parallax Scrolling)是指页面滚动时,背景和前景元素以不同速度移动的视觉效果。这种技术能够创造出深度感和沉浸式体验,让用户在

gitblog_00284的博客 853

Stellar.js背景视差:创建动态背景图像的完整教程

🌟 想要为你的网站添加令人惊艳的视差滚动效果吗?Stellar.js正是你需要的终极解决方案!作为一款简单易用的jQuery插件,Stellar.js视差滚动变得前所未有的轻松。通过本教程,你将学会如何利用这个强大的工具为网站背景图像注入生命力。 ## 🎯 什么是视差滚动效果视差滚动是一种网页设计技术,通过让背景图像以不同于前景元素的速度滚动,创造出深度感和动态感。想象一下,当你滚动

gitblog_00979的博客 609

仿QQ TIM官网视差滚动效果

理论基础: 实现视差滚动,主要需要用到一个视差滚动的插件stellar.js,其次就是常规的布局,stellar.js是基于jq的插件,所以我们在使用之前需要提前导入jq文件 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&g

一只前端小白的博客 1295

视差滚动插件之Stellar

视差滚动插件之Stellar 视差滚动(Parallax Scrolling)指网页滚动过程中,多层次的元素进行不同程度的移动,视觉上形成立体运动效果的网页展示技术 原理 传统的网页的文字、图片、背景都是一起按照相同方向相同速度滚动的,而视差滚动则是在滚动的时候,内容和多层次的背景实现或不同速度,或不同方向的运动。 有的时候也可以加上一些透明度、大小的动画来优化显示。 利用background-a...

qq_40755047的博客 249

Stellar.js视差效果调试终极指南:使用开发者工具快速定位问题的5个技巧

Stellar.js是一款强大的jQuery视差滚动插件,能够为网页添加令人惊艳的立体视觉效果。然而,在实际开发中,视差效果的配置和调试往往令人头疼。本文将分享5个实用的Stellar.js调试技巧,帮助您快速定位和解决视差滚动中的各种问题。😊 ## 为什么需要专门的Stellar.js调试方法? 视差滚动涉及复杂的CSS定位、JavaScript计算和浏览器渲染机制。当视差效果出现问题时,

gitblog_00073的博客 1045

jq视差滚动插件

核心原理:元素和背景以不同的速度移动,以实现视差滚动效果 主要通过background-attachment=fixed属性实现 官网:http://markdalgleish.com/projects/stellar.js 使用: 1. <script type="text/javascript" src='../jquery-1.12.4.min.js'></script&g...

Sumshine12.5 1535

Kaggle泰坦尼克号生存预测 Titanic

内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

上一篇: 分析cygwin下报“无法定位程序输入点”的错误
下一篇: HTML 中 id与name 区别
绝影A
博客等级 码龄15年 20粉丝 55原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值