Javascript 如何替换背景附件:固定在手机上?
在我的网站上,我有多个部分提供了背景上的“视差”风格效果,这在许多移动平台上都是禁用的 我想使用一些jQuery或javascript来替换Javascript 如何替换背景附件:固定在手机上?,javascript,jquery,html,css,background-attachment,Javascript,Jquery,Html,Css,Background Attachment,在我的网站上,我有多个部分提供了背景上的“视差”风格效果,这在许多移动平台上都是禁用的 我想使用一些jQuery或javascript来替换“后台附件:固定”样式的所有实例 我并不热衷于手动更新每个位置(这是一个庞大的项目),我很高兴失去移动设备上的视差效应,转而使用背景尺寸:封面 没有发布任何代码,因为我不确定从何处开始。您可以这样做 if (!window.matchMedia("(min-width: 800px)").matches) { var items = docume
“后台附件:固定”样式的所有实例
我并不热衷于手动更新每个位置(这是一个庞大的项目),我很高兴失去移动设备上的视差效应,转而使用背景尺寸:封面
没有发布任何代码,因为我不确定从何处开始。您可以这样做
if (!window.matchMedia("(min-width: 800px)").matches) {
var items = document.getElementsByClassName("some_class");
for (var i = 0; i < items.length; ++i) {
var item = items[i];
if (item.style.backgroundAttachment == "fixed") {
item.style.backgroundAttachment = "scroll";
}
}
}
如果(!window.matchMedia(((最小宽度:800px)”).matches){
var items=document.getElementsByClassName(“某些类”);
对于(变量i=0;i
我还没有测试过这个,我怀疑它不会解决您的问题,因为您没有一个类名。您还可以在所有div
s或其他对象上运行它。如果所有这些元素都共享相同的类名,例如bg
,那么它可能是这样的:
JS:-我忘记了纯javascript中的for循环
jQuery:
- 请注意,
isMobile
可能是您根据userAgent
或窗口宽度触发的移动变量true
下面的片段
//查找所有元素
var elements=document.body.querySelectorAll('*');
//循环遍历所有元素
对于(var i=0;我是否愿意使用css媒体查询来禁用基于屏幕大小的效果?我愿意,但要做到这一点,我需要为每个可能的变化创建一个媒体查询-整个项目中有100多个。我认为JS是禁用效果的单行方法。
if(isMobile) {
var backgrounds = document.getElementsByClassName('bg');
for(var i in backgrounds){
backgrounds[i].style.backgroundAttachment = 'scroll';
}
}
if(isMobile) {
$('.bg').css({'background-attachment':'scroll'});
}