if语句中的函数即使“if”语句仍然运行;不再满足
The function inside the "if statement" still run even if the "if statement" is no longer satisfied
所以我有这个脚本来检测窗口宽度,并做一定的动作,如果满足if语句。是的,如果"宽度"小于980,它可以工作,但如果我调整窗口的大小超过180,它仍然运行我不想要的指令。我检查了"宽度"使用$('#jqWidth').html(宽度);如果值随窗口的变化而变化变化和变化。就好像:
- if语句中的
- 变量没有随着窗口宽度的变化而更新(但我怀疑这一点)。或
- $(window).scroll(function()仍在运行,即使if语句不满足。
我想禁用slideUp()和slideDown()或者$(window)。当宽度大于等于980时,在if语句中调用滚动函数。
谢谢!
function jqUpdateSize(){
// Get the width of the viewport
var width = $(window).width();
if(width < 980){
$(".slideToggle").css({display:'none'});
$(window).scroll(function() {
if($(window).scrollTop() > 535) {
$(".header").slideUp("slow");
}
if($(window).scrollTop() < 535) {
$(".header").slideDown("slow");
}
});
}
$('#jqWidth').html(width); //for testing purposes if width changes.
}
$(document).ready(jqUpdateSize); // When the page first loads
$(window).resize(jqUpdateSize); // When the browser changes size
编辑
function jqUpdateSize(){
// Get the width of the viewport
var width = $(window).width();
if(width < 980){
$(".slideToggle").css({display:'none'});
$(window).scroll(function() {
if($(window).scrollTop() > 535) {
$(".header").slideUp("slow");
}
if($(window).scrollTop() < 535) {
$(".header").slideDown("slow");
}
});
}
$('#jqWidth').html(width); //for testing purposes if width changes.
}else{
$(window).unbind('scroll');
}
$(document).ready(function(){
jqUpdateSize();
});
$(window).resize(function(){
jqUpdateSize();
});
在语句中添加了"else",它就成功了。感谢@adeneo的提示和@ miusshock
处理程序没有正确链接到事件,尝试将其更改为
$(document).ready(function(){
jqUpdateSize();
});
$(window).resize(function(){
jqUpdateSize();
});
我想对这个答案再补充一点,
以函数字面量的形式定义处理程序方法也可以
var jqUpdateSize = function () {...}
我不确定这是jquery或浏览器实现,但函数字面量似乎被视为一个更好的对象
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- Sharepoint JScript if语句未执行
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 循环通过数组的If语句不起作用
- jQuery模板中的If语句
- 如何从数据库中回显If语句
- 如何减少if语句的数量
- 在Javascript中将一个值和字符串数组转换为if语句
- Dropbox oauth认证的IF语句的第二部分是't已触发
- MVC Jquery-按钮点击-获取if语句错误
- 如何重写Javascript If语句以选择Classes而不是ID's的HTML格式
- KnockoutJS:为虚拟元素使用嵌套的条件if语句
- If语句发布或操作员发布
- 清除函数中if语句内部不起作用的间隔
- 使用if语句重新循环