使用 jQuery 实现滚动动画

2024-02-15

好吧,我在尝试使用滚动事件的条件对 DOM 的多个元素进行动画处理时遇到了问题。 首先,我使用的是 Drupal 7,所以我使用的 jQuery 库的版本是 1.4.4。

现在,我想通过更改页面内部元素的 css 属性来缩小页面向下滚动时标题的大小。

首先,在滚动事件中,我检查窗口的scrollTop 位置。如果位置不为 0(意味着页面向下滚动),我会触发标题内元素的动画。

如果位置等于零,我希望 css 属性回退到其原始状态,以便标头检索其完整大小。

动画的第一部分效果很好。当我向下滚动页面时,标题会按预期缩小。但是当我将页面滚动回顶部时,第二个动画不起作用..动画都是有问题的,并且在几秒钟后发生并变得疯狂,来回更改受animate()功能。

有谁知道如何清除这个问题吗?

这是我正在使用的代码的简化部分:

$(window).scroll(function(){            

    if($(window).scrollTop() != 0){
        $('#myFirstElement').animate({marginTop: '20px'}, 300);
        $('#mySecondElement').animate({top: '20px'}, 300);
    }       
    else {
        $('#myFirstElement').animate({marginTop: '32px'}, 300);
        $('#mySecondElement').animate({top: '32px'}, 300);
    }

});

你可以使用类似的东西

http://jsfiddle.net/HjFH4/ http://jsfiddle.net/HjFH4/

$elem1 = $('#myFirstElement');
$elem2 = $('#mySecondElement');
var scrollState = 'top';

$(window).scroll(function(){ 

    var scrollPos = $(window).scrollTop();

    if( ( scrollPos != 0 ) && ( scrollState === 'top' ) ) {
        $elem1.stop().animate({marginTop: '0px'}, 300);
        $elem2.stop().animate({height: '10px'}, 300);
        scrollState = 'scrolled';
    }       
    else if( ( scrollPos === 0 ) && ( scrollState === 'scrolled' ) ) {
        $elem1.stop().animate({marginTop: '32px'}, 300);
        $elem2.stop().animate({height: '80px'}, 300);
        scrollState = 'top';
    }

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jQuery 实现滚动动画 的相关文章

  • 创建后将事件处理程序添加到 jQuery UI 日期选择器

    我有以下场景 在我的母版页中我有 datepicker datepicker changeYear true changeMonth true dateFormat dd mm yy duration fast 这样 我分配 datepic
  • 了解 sort() 比较函数

    我正在使用一个电子商务平台 该平台无法重新排序产品属性字段的选项 这真的很糟糕 因为要插入新选项 您几乎必须删除所有现有选项并重新开始 我正在尝试在客户端进行操作 这是我正在处理的内容 这是针对鞋码的 9 EE 9 1 2 EE 10 EE
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 淘汰赛绑定,每个都可进行自定义

    我这里有一个情况 用于淘汰每个带有定制的绑定 这是我的代码 div div table tbody tr td td td td tr tbody table div div
  • Jquery 在 DIV 中进行多重加载

    这是我的代码 right load textes html nicolas right load textes html antoine 问题是内容divantoine覆盖了右边div nicolas加载的内容div div right l
  • jQuery - 系列之外的 HighCharts 标签(条形图)

    function container highcharts chart type bar backgroundColor null width 360 title text null style display none subtitle
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque
  • 使用 json 向 RESTful WCF 发送 Post 请求

    我已经尝试了每种组合来发送请求 以从 jQuery 向 RESTful WCF 发送 POST 请求 有人可以模仿并使其发挥作用吗 代码在这里 http pastebin com Ua97919C http pastebin com Ua9
  • 如何确定当前使用哪个网格选项

    我将 Bootstrap 3 用于使用 PHP 和 HTML 创建的网页 随着响应式网格和类的开启引导程序3您可以将多个类分配给一个 div 以根据当前屏幕尺寸定义不同的宽度 例如 div class col lg 3 col md 3 c
  • Jquery 移动应用程序的奇怪行为

    我创建了一个应用程序 其中包含多个主页按钮 单击其中一个按钮 我的应用程序将重定向到某个视图 其中包含 JQM 表单 JQM 日历 文本字段 按钮和数据库等 我的问题是 当我在 Android 设备上测试我的应用程序时 即使我没有使用任何图
  • jQuery:在动画期间禁用单击

    所以我正在做一个小测验 我想禁用里面所有内容的点击 qWrap当动画运行时 从而防止垃圾点击 我尝试使用 is animated 但没有效果 有任何想法吗 HTML div ul li class qContainer ul class q
  • HTML5 仅拖放图像

    我想做的是 如果所有拖动的文件都是图像 则将其删除 但如果有其他文件扩展名 则不要删除它们 而仅删除图像 这是我的尝试 HTML div div JavaScript var dropzone document getElementById
  • 如何确定并打印 jQuery 版本?

    是否有一个 jQuery 函数可以返回当前加载的 jQuery 版本 你可以使用这个 fn jquery or if you re using noConflict jQuery fn jquery 当 jQuery 构建时它会自动更新 定
  • 使用 jQuery 更改父元素样式

    我有下一个 html 设置 div class one div class two a href class three Click a div div 我想更改具有类的元素的背景颜色 one当我点击元素时 three使用 jQuery 这
  • JQuery Datepicker OnSelect 和 TextChanged 问题

    自从将 OnSelect 添加到我的 Datepicker 后 该控件不再触发 TextChanged 事件 我的代码如下 function datepicker minDate 0 dateFormat dd M yy onSelect
  • 将纯文本转换为 HTML

    我有一个脚本 在某个时刻我可以通过 Ajax 调用获取 HTML 数据 我必须将此 HTML 转换为纯文本 如下所示 div text data 我现在想扭转这一局面 再次将文本设为 HTML 我有一个简单的 Jquery 方法可以做到这一
  • 如何禁用 body 元素的滚动?

    如何禁用正文滚动 body css overflow hidden 仅隐藏滚动条 但不会禁用滚动 我想禁用正文的滚动 但我想保持其他分区的滚动完好无损 试试这个 CSS 不需要 jQuery 评论后更新 尝试指定高度body too
  • 使用 animate() 的简单 jQuery 幻灯片

    使用 jQuery 的animate 如何将每个图像滑动一次 使用Slick js https github com kenwheeler slick 像CSS动画 然后停在最后一个 div class slideshow style he
  • 如何在 Jquery/Javascript 中绑定模糊和更改,但只触发一次函数?

    我试图在选择元素更改时触发函数 由于 Ipad 在 on change 方面遇到问题 我还想绑定到 blur 这在 Ipad 上工作得很好 但是我不希望两个事件都触发该函数两次 所以我需要某种挂钩来确保两个事件是否都触发change and

随机推荐

  • ASP.NET Core 存储过程无法在循环中工作

    我想使用存储过程进行数据库查询 它适用于单个查询 但在循环中 它像第一个循环迭代一样执行 var getAutoResults new List
  • 按位运算。该代码安全且可移植吗?

    我需要计算表示为的位集之间的汉明距离char数组 这是一个核心操作 因此必须尽可能快 我有这样的事情 const int N 32 32 always returns the number of bits that are ones in
  • 在 Java 中强制虚假唤醒

    这个问题不是关于虚假唤醒是否真的发生 因为这已经在这里进行了详细讨论 Java 中的虚假唤醒真的会发生吗 https stackoverflow com questions 1050592 do spurious wakeups actua
  • 使用定义的宽度、长度和像素位置裁剪视频文件

    我试图创建一个程序来检测视频中的脸部 在我接受 面子 之前 必须满足一些要求 满足所有要求后 我想要拍摄容纳该 脸部 的框架并裁剪它们以使脸部成为焦点区域 该程序将遍历每一帧并执行此操作 然后获取新视频并将其制作成视频文件 我从未使用过视频
  • 如何对包含特定单词的行进行列排序

    我只想对包含特定单词的行的特定列进行排序 我不想看到不包含该单词的行 例如我有这个文本文件 sdf ggfds 7 sdf sgs 5 sdf dfgs 3 foo dffg 2 bar dffg 2 sdf sddfg 4 我想对仅包含
  • 使用 Intl.DateTimeFormat 和 en-US 区域设置,Safari 中的日期显示相差一

    Safari 的 Int DateTimeFormat 实现似乎假定 3 月的第二个星期日始终是 DST 时间截止点 这是不正确的 因为在 2007 年之前它是 4 月的第一个星期日 当 DST 结束时 这似乎也会影响另一端 PS 此代码正
  • 为什么在大多数 ASP.NET MVP 实现中,Presenter 附加到 View 事件而不是 View 调用 Presenter 方法?

    我注意到在 Webforms MVP 实现和大多数其他示例中 Presenter 通常将处理程序附加到 View 事件 为什么视图不能直接调用演示者中的方法 只是想知道 由于将处理程序附加到事件 为特殊参数定义 EventArgs 在视图端
  • vagrant up 错误不起作用

    我尝试在我的计算机上安装 Laravel Homestead 我已经按照文档进行操作 昨天我就开始工作了 然而 我让笔记本电脑处于睡眠状态 并尝试运行 vagrant 配置 但收到了这个奇怪的错误 Jafars iMac Homestead
  • 无法从可执行共享库打印浮点数

    我正在开发一个共享库 它可以独立执行以打印它自己的版本号 我将自定义入口点定义为 const char my interp attribute section interp lib64 ld linux x86 64 so 2 void m
  • 将 Activiti 任务从旧流程迁移到新流程

    我有一个用于某些业务流程的 Activiti 项目 问题在于移民 现有流程有一些未完成的任务 我想通过添加新步骤来修改现有流程 现在 当我创建一个新任务时 这个新任务将根据更新的流程进行处理 而未完成的任务将按照旧流程进行处理 让我们看下面
  • IBM Watson Knowledge Studio - 注释负面/否定提及

    使用 Watson Knowledge Studio 注释提及内容时 通常会出现以下示例 我没有收到任何反馈 或 我从未收到任何反馈 如果我要注释上面提到的 反馈 那么它是一个 负面 例子 即它指的是没有发生的事情 创建自定义实体类型系统有
  • 如果对象成员没有值,如何为对象分配 null - automapper c#

    我在 C 中使用自动映射器 class A public int Value get set public string Code get set public B Details get set class B public int Id
  • 基于正则表达式的随机文本生成器[重复]

    这个问题在这里已经有答案了 我想知道是否有软件可以在给定正则表达式以及其他一些约束 例如长度 的情况下生成始终与给定正则表达式匹配的随机文本 谢谢 是的 可以生成与正则表达式随机匹配的软件 Exrex https github com as
  • sotimeout 在 android 2.1 上的多部分 http 帖子中不起作用

    我正在使用 android sdk 附带的 apache httpclient 使用多部分 http post 在服务器上上传文件 问题是 当我关闭设备上的 wifi 连接并且设置 sotimeout 和 connectiontimeout
  • 覆盖password_validation消息

    我使用 UserCreationForm 来创建新用户 from django contrib auth forms import UserCreationForm class RegistrationForm UserCreationFo
  • 在反应本机可触摸视图上启用触觉反馈

    我正在编写一个反应本机应用程序 我注意到虽然按钮在单击时看起来像本机按钮 但它们的行为并不像一个按钮 至少不像 Android 按钮的行为 单击 Android 应用程序按钮 发出声音并向用户提供触觉反馈 在声音中 我看到有 github
  • 为什么 TypeScript Iterable Iterator<> 和 Generator<> 泛型略有不同?

    在 TypeScript 中 3 6 3 发电机几乎与可迭代迭代器 When 发电机延伸迭代器 它默认第三个通用参数 TNext to unknown 迭代器本身默认TNext to 不明确的 So 发电机 and Iterator and
  • Angular CLI - 如何在可重用组件中引用图像路径

    需要帮助弄清楚如何将图像包含在另一个应用程序引用的可重用组件中 例如 我有一个 Angular 应用程序 我们称之为 UI Common 它包含通用组件 另一个 Angular 应用程序 我们称之为 Command Center 它将使用这
  • 我可以使用 ajax 和 jquery 访问我的私有 bitbucket 存储库吗?

    在我的网站上 我目前正在使用 jquery 从 bitbucket org 上托管的一个存储库生成标签列表 但为了做到这一点 我必须公开该存储库 我宁愿保密 我是否可以允许站点以这种方式访问 我的存储库 同时仍保持存储库的私有性 代码如下所
  • 使用 jQuery 实现滚动动画

    好吧 我在尝试使用滚动事件的条件对 DOM 的多个元素进行动画处理时遇到了问题 首先 我使用的是 Drupal 7 所以我使用的 jQuery 库的版本是 1 4 4 现在 我想通过更改页面内部元素的 css 属性来缩小页面向下滚动时标题的