仅在桌面视图上使用粘性文本 JQuery
Using Sticky Text JQuery only on Desktop View
此处编码的新内容 - 我发现此代码在您滚动时让我的文本浮动在我的图像旁边,它在桌面视图中工作得很好,但在移动设备中,文本在图像后面流动。
<script>
$(document).ready(function(){
$("#sticky").sticky({topSpacing:10});
$("#sticky").sticky({bottomSpacing:1450});
});
</script>
所以现在我想找出一种方法,让这段代码只适用于大于 640 像素的屏幕。
我发现了这个:
if(window.outerWidth < 640) {
alert('your jquery code here - it fires for mobile device only');
}
但是当我把它放在一起,并将它从小于 640 更改为大于 - 代码不起作用:
if(window.outerWidth > 640) {
alert( $(document).ready(function(){
$("#sticky").sticky({topSpacing:10});
$("#sticky").sticky({bottomSpacing:1450});
});
);
}
谁能告诉我我做错了什么?任何解决方案的帮助将不胜感激!
代码将在页面加载时初始化,在调整大小时 window 不会发生任何事情,因为您没有监听该事件并且它在页面加载后已经初始化。
因此您可以监听调整大小事件,如果条件匹配则使用 unstick()
方法初始化或简单地取消粘贴元素。
$(window).resize(function() {
if(window.outerWidth > 640) {
$("#sticky").sticky({topSpacing:10, bottomSpacing:1450});
} else{
// unstick the element
$("#sticky").unstick()
}
}).resize();
或者您可以使用 css 媒体查询在 2 个元素之间切换。
#sticky { display:block; }
#stickyMob { display:none; }
@media only screen and (max-width: 640px) {
#sticky{ display: none;}
#stickyMob { display:block; }
}
您不需要 java 脚本来执行此操作。这可以通过 媒体查询 轻松完成。您还可以根据您的情况更改移动视图的顶部和底部间距(默认将应用于桌面)。
就像这样:
@media only screen and (max-width: 640px) {
//Your code
#sticky{
margin: 0; //or whatever
}
}
此代码将嵌入到与 html 文件链接的 css 中,并会在屏幕最小化为 640 像素时自动触发。
此处编码的新内容 - 我发现此代码在您滚动时让我的文本浮动在我的图像旁边,它在桌面视图中工作得很好,但在移动设备中,文本在图像后面流动。
<script>
$(document).ready(function(){
$("#sticky").sticky({topSpacing:10});
$("#sticky").sticky({bottomSpacing:1450});
});
</script>
所以现在我想找出一种方法,让这段代码只适用于大于 640 像素的屏幕。 我发现了这个:
if(window.outerWidth < 640) {
alert('your jquery code here - it fires for mobile device only');
}
但是当我把它放在一起,并将它从小于 640 更改为大于 - 代码不起作用:
if(window.outerWidth > 640) {
alert( $(document).ready(function(){
$("#sticky").sticky({topSpacing:10});
$("#sticky").sticky({bottomSpacing:1450});
});
);
}
谁能告诉我我做错了什么?任何解决方案的帮助将不胜感激!
代码将在页面加载时初始化,在调整大小时 window 不会发生任何事情,因为您没有监听该事件并且它在页面加载后已经初始化。
因此您可以监听调整大小事件,如果条件匹配则使用 unstick()
方法初始化或简单地取消粘贴元素。
$(window).resize(function() {
if(window.outerWidth > 640) {
$("#sticky").sticky({topSpacing:10, bottomSpacing:1450});
} else{
// unstick the element
$("#sticky").unstick()
}
}).resize();
或者您可以使用 css 媒体查询在 2 个元素之间切换。
#sticky { display:block; }
#stickyMob { display:none; }
@media only screen and (max-width: 640px) {
#sticky{ display: none;}
#stickyMob { display:block; }
}
您不需要 java 脚本来执行此操作。这可以通过 媒体查询 轻松完成。您还可以根据您的情况更改移动视图的顶部和底部间距(默认将应用于桌面)。
就像这样:
@media only screen and (max-width: 640px) {
//Your code
#sticky{
margin: 0; //or whatever
}
}
此代码将嵌入到与 html 文件链接的 css 中,并会在屏幕最小化为 640 像素时自动触发。