JavaScript IF函数识别移动设备
JavaScript IF function to recognise mobile device
我目前正在创建一个网站,我有一个粘固定头。这个网站是建立在Bootstrap上的,但是因为我真的不喜欢很多Bootstrap头,我决定自己做一个简单的。
http://quarndoncurtaindesign.besaba.com/粘头在一些小问题上工作得很好。但在手机领域,情况就完全不同了。由于标题在垂直方向上占据了大量的空间,它在移动设备上占据了太多的空间。
我决定最好让菜单保持在它的粘着状态,但是我使用这个Javascript在一些元素上添加了一个"粘着"类,这样我就可以在CSS中定位它了。
$(window).scroll(function() {
if ($(this).scrollTop() > 1){
$('header').addClass("sticky");
$('header h1').addClass("sticky");
$('p#tagline').addClass("sticky");
$('ul').addClass("sticky");
$('a').addClass("sticky");
$('#top').addClass("sticky");
}
else{
$('header').removeClass("sticky");
$('header h1').removeClass("sticky");
$('p#tagline').removeClass("sticky");
$('ul').removeClass("sticky");
$('a').removeClass("sticky");
$('#top').removeClass("sticky");
}
});
如果你能给我指路,我将不胜感激。 像这样使用JS是很好的实践。通过将类添加到元素中,您可以使用CSS来定位元素。
然而,你的方法有几个问题。
你只需要在标题中应用'sticky'类。我看不出你有什么理由需要在页面上的任何其他元素上应用sticky类。
像这样的代码应该可以达到这个效果:
header.sticky {
position: fixed;
top: 0;
width: 100%;
z-index: 1;
}
body {
padding-top: 100px /* Height of header.*/
/*This will offset the content below the header */
}
另外,我不认为你甚至需要一个JS if语句在这里,因为头将始终是粘性的。
如果你在移动视图上有问题,那么你应该使用媒体查询来纠正标题
在这种情况下,您可能会从CSS媒体查询中获得比JS代码更多的价值。他们将允许你识别设备-除其他外-他们的屏幕大小,并为不同的设置指定不同的布局。
我同意前两个答案,这是一个最适合CSS和/或CSS媒体查询的用例。
但是,如果您仍然希望使用JavaScript检测用户是否在移动设备上,则可以使用以下代码(或以下代码的变体):
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
// some code..
}
^此代码片段取自https://stackoverflow.com/a/3540295/1525109
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 如何识别我的网站中的慢速设备
- FabricJs-限制主对象内添加对象的移动区域
- 如何从画布上的某个移动事件中获取X和Y
- 触摸移动时切换到新元素
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 无法识别移动键盘中的冒号键
- 我可以从网站中唯一识别移动设备吗
- 移动卷轴,识别触发它的元素
- 添加支持苹果移动网络应用程序的可阻止识别 SVG 触摸
- 移动设备上的HTML5 javascript图像识别
- 如何识别像桌面这样的移动设备
- Javascript“bump"识别(移动设备)
- Javascript识别浏览器平台是桌面还是移动平台(可能是/不是来自设备宽度-高度)
- 当进入全屏模式时,如何识别真实的鼠标移动
- JavaScript IF函数识别移动设备