首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移动端的条件Javascript

移动端的条件Javascript
EN

Stack Overflow用户
提问于 2013-05-29 01:52:55
回答 1查看 981关注 0票数 1

几个星期以来,我一直在尝试解决这个问题的各种方法!

我希望我的javascript根据设备宽度有条件地加载。这是为了让我的固定菜单div在桌面上与屏幕一起滚动,并留在移动/平板电脑上。

这是我的脚本;

代码语言:javascript
复制
<script type="text/javascript">
jQuery(function($) {
function fixDiv() {
  if ($(window).scrollTop() > 310)
    { 
    $('#Portfolio-Sidebar-Content-Web').css({'position': 'fixed', 'top': '0', 'margin-top': '20px'}); 
    }
  else
    {
    $('#Portfolio-Sidebar-Content-Web').css({'position': 'static', 'top': 'auto', 'margin-top': '0'});
    }
}
$(window).scroll(fixDiv);
fix5iv();
}
});
</script>

我已经尝试添加了;

代码语言:javascript
复制
<script type="text/javascript">
jQuery(function($) {
if ( $(window).width() > 480) {
function fixDiv() {
  SCRIPT FUNCTION
}
});
</script>

...and;

代码语言:javascript
复制
<script type="text/javascript">
jQuery(function($) {
if (matchMedia('only screen and (max-width: 480px)').matches) {
function fixDiv() {
  SCRIPT FUNCTION
}
});
</script>

我还尝试了使用CSS的@media查询来根据设备宽度更改div的位置。这没有任何结果,看起来javascript样式很重要,因此覆盖了我在样式表中应用的任何样式。

我尝试过的javascript修改在移动/平板电脑和桌面上都禁用或启用了该脚本。所以我的代码在某种程度上是可以工作的,但它似乎没有正确地检测设备宽度。

很明显,我的视窗设置可能会干扰设备宽度,在任何浏览器中都会产生相同的结果;

代码语言:javascript
复制
<meta name="viewport" content="width=1100"/>

但是,即使在禁用此代码段(从代码中完全删除它)之后,仍然会出现相同的问题。

我是不是漏掉了什么明显的东西?解决方案是不存在的吗?

在此之前,非常感谢您。

EN

回答 1

Stack Overflow用户

发布于 2013-06-06 00:09:56

你不需要JS来解决这个问题。只需使用媒体查询+适当的meta标记即可。请参阅this gist以了解我正在讨论的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16798446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档