javascript - 我想要一个粘性标题中的按钮在向下滚动时变为红色
问题描述
您好,提前感谢您的所有帮助
我在一个 wordpress 网站上工作,我正在使用 Elementor 和 Elementor Pro。我在粘性标题中有一个按钮。当人们开始向下滚动时,我希望此按钮变为红色,文本变为白色。循序渐进。(当颜色相反时。)
现在我有点知道该怎么做,但我对所有事情都不确定。我从 Medium 上的一篇文章中获得了一份指南,该指南是关于将整个页面变成不同的颜色,我认为我可以用一个 biut 来定位按钮。我对一些编码并不完全陌生,但我遇到了一些不兼容的问题。我已经从下面的 Medium 帖子中添加了代码。
我知道的:
我需要在 CSS 中创建一个类,即。。换颜色
并在 Javascript 中调用此更改。
我可以在 Elementor 小部件的自定义 CSS 部分添加 CSS。但是我在哪里把 script.js 放在其余的文件中呢?WordPress 只有我可以进入的 .php 文件,因为我在 Elementor 工作,我应该或可以将它放在其他地方吗?
我是否也将转换时间放在描述按钮的 CSS 中或描述更改的 CSS 中?
非常感谢谁能让这一切对我来说更清楚。谢谢!
科林
开始情况:
body {
background: white;
transition: 0.3s all;
}
滚动需要发生什么
.changeColor {
background: red;
}
一点 Javascript
$(function() {
$(window).scroll(function () {
if ($(this).scrollTop() > 50) {
$(‘body’).addClass(‘changeColor’)
}
if ($(this).scrollTop() < 50) {
$(‘body’).removeClass(‘changeColor’)
}
});
});
`
并在引用 google 托管库的 HTML 文档中添加一些代码
解决方案
首先你应该给你的按钮添加一个id,这样jquery就可以通过它
现在创建一个类,当页面滚动时,您将在按钮中添加该类
.btnChanged{
color: white;
background-color: red;
}
好的,现在创建一个 RAW JS 文件元素,您可以从添加新元素部分添加它并放置您的 js
$(function() {
$(window).scroll(function () {
if ($(this).scrollTop() > 50) {
$('#yourId_which_you_gave_to_btn').addClass('btnChanged')
}
if ($(this).scrollTop() < 50) {
$('#yourId_which_you_gave_to_btn').removeClass('btnChanged')
}
});
});
希望这会有所帮助
推荐阅读
- r - 选择数据集的列而不使用列的编号而是列的名称
- excel - Power Query 中的重叠时间序列数据
- oracle - 如果页面项具有特定值,则 Oracle 顶点重定向页面
- javascript - 如何使用本地表列和外键表中存在的列创建 sequelize 复合约束
- text - 谷歌云语音转文本支持任何浏览器?这适用于 Safari 吗?
- git - 如何避免过时的个人分支被推送并合并到主分支
- javascript - 如何使用 JS/D3 将列值用于 SVG 颜色?
- xsd - Biztalk Debatch 平面文件,带有标题、2 个重复记录和带有标签标识符的尾部
- typescript - 如何将 Shoelace 组件库添加到现有的 Stencil.js 项目
- java - Spring Boot @Valid 不给出错误消息或有错误始终设置为 False