如果不存在,有没有办法在jquery / javascript中创建变量?
我试过了: if (moving.length<0) {
moving=false;
}
if (moving=='undefined') {
moving=false;
}
但逻辑上这一切都很糟糕,因为对变量的初始检查已经是未定义的
希望你们能帮忙:)。
第一个答案工作正常但我的问题仍在继续。
$.fn.animation = function() {
if (typeof moving == 'undefined') {var moving = false;};
if(moving===false){
var moving=true;
console.log('test');
};
};
$(window).scroll(function(){
if($(window).scrollTop() < scrollpos){
elm.animation();
}
scrollpos=$(window).scrollTop();
});
在此设置中,“测试”即使我记录移动设置为真也会不断显示,但仍会被忽略。
所以我要归档的是每次滚动元素时都会检查它是否已经动画了。如果是这样,不要做动画。
基本上是队列
答案 0 :(得分:13)
你试过吗
if (typeof moving == 'undefined') var moving = false;
在某些情况下,我使用
var moving = typeof moving == 'undefined' ? false : moving;
基本上是相同的,但对我来说,在某些情况下,可以看到变量设置为更高的可读性,无论是原始值还是false
,如果它未声明,但第一个版本更常见。
修改强>
以下是检测滚动
的方法var scrolled = false;
$(window).on('scroll', function() {
scrolled = true;
});
//later
if (scrolled) {
// do stuff
}
答案 1 :(得分:3)
if( typeof moving === 'undefined' )
{
var moving;
moving = false;
}
会工作。