仅当屏幕上显示 <1000 像素时调用 JS 函数
Call a JS function only when <1000 px on screen
我已经处理了几个小时,但找不到解决方案。
我需要在屏幕尺寸为 <1000px(iPad 垂直方向)时调用一个函数,并在屏幕尺寸> 1000px(iPad 横向)时注释/停用该函数。
我写了以下代码,它运行良好,但是当我旋转iPad(从垂直到横向)时,该功能没有按预期进行注释。
解释起来相当复杂。希望你能理解我的问题。
$(window).ready(function(){
if ( $(window).width() > 1000) {
/* $( '.head_bar_nav ul:has(li)' ).doubleTapToGo(); */
}
else {
$( '.head_bar_nav ul:has(li)' ).doubleTapToGo();
}
});
$(window).resize(function(){
if ( $(window).width() > 1000) {
/* $( '.head_bar_nav ul:has(li)' ).doubleTapToGo(); */
}
else {
$( '.head_bar_nav ul:has(li)' ).doubleTapToGo();
}
});
祝你有美好的一天,再见!
你的意思是你想禁用DoubleTapToGo,如果宽度>1000px?
你用过这个代码吗?那么我认为这是不可能的。您只能启用它。
--编辑--
好的,我对 doubletaptogo.js 文件进行了一个小改动。你可以在这里找到它。
现在要达到所需的效果,请执行以下操作:
$(window).resize(function() {
if ( $(window).width() > 1000) {
$( '.head_bar_nav ul:has(li)' ).data("doubletaptogo-enabled", false);
}
else {
$( '.head_bar_nav ul:has(li)' ).data("doubletaptogo-enabled", true);
}
});
$(document).ready(function(){
$( '.head_bar_nav ul:has(li)' )
.data("doubletaptogo-enabled", ($(window).width() <= 1000))
.doubleTapToGo();
});
尚未测试它,但它应该可以工作。
您可以使用window.matchMedia
,然后使用媒体查询来定位当前方向:
if (window.matchMedia("(orientation: landscape)") {
// ...
}
更多信息:https://developer.mozilla.org/en-US/docs/Web/API/Window.matchMedia
在您提供的代码片段中:
$(window).ready(function(){
if (window.matchMedia("(orientation: landscape)") {
/* $( '.head_bar_nav ul:has(li)' ).doubleTapToGo(); */
}
else {
$( '.head_bar_nav ul:has(li)' ).doubleTapToGo();
}
});
$(window).resize(function(){
if (window.matchMedia("(orientation: landscape)") {
/* $( '.head_bar_nav ul:has(li)' ).doubleTapToGo(); */
}
else {
$( '.head_bar_nav ul:has(li)' ).doubleTapToGo();
}
});
还可以使用媒体查询来定位device-width
但如果要定位方向,最好使用 orientation
表达式。
大卫·沃尔什(David Walsh)还有一篇关于识别方向变化的精彩博客文章:http://davidwalsh.name/orientation-change
相关文章:
- 如何通过溢出来判断元素被切断了多少像素:隐藏在父级上
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 如何使线条的边缘像素保持半透明
- 画布:逐像素绘制图像并请求动画帧计时
- 如何's css标记"-webkit最小设备像素比”;在Javascript中实现
- javascript mootools平滑滚动'x'像素数量
- 逐像素碰撞检测弹球
- 获取图像的平均外部像素颜色
- 如何根据分辨率添加像素
- 仅当窗口宽度>940像素,无论是通过页面加载还是调整大小
- 使用画布在秒内逐像素显示图片
- JS/CSS:如何在向下滚动超过1200像素(高度)后更改z索引值
- 获取以屏幕像素为单位的旋转SVG元素的边界
- 如何将像素添加到元素的当前位置
- GridStack项的高度和宽度(以像素为单位)
- 在用户用动画滚动175像素后缩小固定的Div
- CSS将百分比转换为像素
- 滚动到..如何滚动到#上方一定数量的像素
- 仅当屏幕上显示 <1000 像素时调用 JS 函数