我禁用某些jQuery脚本在特定的屏幕大小,但我如何得到它检查时,屏幕调整大小
I Disabled certain jQuery script at certain screen size but how do I get it check when screen is resized?
我得到这个禁用屏幕尺寸低于1020,但任何想法如何让它动态检查,因为浏览器窗口正在调整大小?:
<script>
$(document).ready(function() {
/*Set height of sections to window height*/
$( "#homepage-fold" ).each(function(){
if ($(window).width() >= 1020) {
var $this = $(this);}
$this.css({'height':($(window).height())+'px'});
/*Recalculate on window resize*/
$(window).resize(function(){
$this.css({'height':($(window).height())+'px'});
});
});
});</script>
任何想法如何获得的if语句,我添加的工作动态作为浏览器的调整大小。我试着在第二个Recalculate部分包装第一个if标签,但我一定没有把它放在正确的位置。
谢谢! !
,
首先,这似乎是一个简单的解决方案,但我尝试的解决方案没有工作。我是jQuery的新手,所以我猜这是我的语法错误——可能是这个规则的位置不正确。如果有人能帮我弄清楚如何让这个工作,我将非常感激。我只希望这个脚本是活跃的屏幕尺寸大于1020px。1020以下的屏幕应该看到没有这个活动脚本的页面。
<script>
$(document).ready(function() {
/*Set height of sections to window height*/
$( "#homepage-fold" ).each(function(){
var $this = $(this);
$this.css({'height':($(window).height())+'px'});
/*Recalculate on window resize*/
$(window).resize(function(){
$this.css({'height':($(window).height())+'px'});
});
});
});</script>
我想通过添加
if(screen.width >= 1020){
这样的:$(文档)时函数(){
/*Set height of sections to window height*/
$( "#homepage-fold" ).each(function(){
如果屏幕。
var $this = $(this);
$this.css({'height':($(window).height())+'px'});
/*Recalculate on window resize*/
$(window).resize(function(){
$this.css({'height':($(window).height())+'px'});
});
补充道:});});
});</script>
有人知道我在哪里弄乱了这段代码吗?谢谢你! !
这就是我的方法。setFold
函数将所需元素的高度设置为窗口的高度,如果窗口的宽度小于断点(1020),则设置为默认值(999)。我还将onresize
回调包装成一个超时,该超时延迟其执行,直到resize事件实际结束(从而使其真正成为onresizeend
)。这有时是一个好主意,因为resize
被触发多次,而有人调整窗口的大小。根据onresize
所做的事情,这可能会导致相当的延迟,在大多数情况下,当用户停止调整大小时,它只发生一次是完全可以的(你可以在这里玩callbackDelay
,或者只是完全删除超时的东西)。
$(document).ready(function(){
// DOM READY
var $window = $(window), // cached
$fold = $('#homepage-fold'),
breakpoint = 1020,
defaultHeight = 999,
resizeTimeout,
callbackDelay = 200; // ms
function setFold(){
if( $window.width() < breakpoint ){
$fold.css('height', defaultHeight );
}
else {
$fold.css('height', $window.height() );
}
}
setFold(); // initial setting
// Attach event
$window.on('resize', function(){
clearTimeout( resizeTimeout );
resizeTimeout = setTimeout(function(){
setFold();
}, callbackDelay );
})
});
这样做:
if ($(window).width() >= 1020) {
}
另外,你可能还想把这个写入一个resize函数中这样,如果有人调整浏览器窗口的大小,脚本会根据调整后的尺寸触发或不触发,而不仅仅是初始尺寸
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 导航栏没有调整到浏览器屏幕的大小
- 调整屏幕大小后不显示子菜单
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 我如何才能让CasperJS和PhantomJS在约塞米蒂玩得很好
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何知道元素在屏幕上是否可见.如果没有,请滚动页面
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 如何打开/移动主屏幕左侧的浏览器窗口
- 如何在屏幕外或项目的中心视口中跟随YUI驱动的动画
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 调整屏幕大小时更改属性值
- 加载侦听器上的函数触发得太早
- 我怎么能让jQuery对话框表现得像Javascript警报
- 检测非移动页面上的移动设备屏幕宽度和高度
- 在移动屏幕中从纵向移动到横向并返回纵向时,窗口元素在垂直方向上变得不可见
- 使用touchstart会导致屏幕在touchstart时变得模糊