cee*_*eed 5 variables jquery exists
有没有办法在jquery/javascript中创建一个变量,如果它不存在?
我试过:
if (moving.length<0) {
moving=false;
}
if (moving=='undefined') {
moving=false;
}
Run Code Online (Sandbox Code Playgroud)
但逻辑上这一切都很糟糕,因为对变量的初始检查已经未定义
希望你们能帮忙:)
第一个答案工作正常,但我的问题仍在继续.
$.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();
});
Run Code Online (Sandbox Code Playgroud)
在这个设置'test'中,即使我记录移动设置为true,仍然会被忽略.
所以我要归档的是每次我滚动元素得到检查,如果它已经动画.如果是这样,不要做动画.
基本上是一个队列
ade*_*neo 13
你试过了吗
if (typeof moving == 'undefined') var moving = false;
Run Code Online (Sandbox Code Playgroud)
在某些情况下我使用
var moving = typeof moving == 'undefined' ? false : moving;
Run Code Online (Sandbox Code Playgroud)
这基本上是相同的,但对我来说,在某些情况下更容易看到变量被设置,或者是它的原始值,或者false它是未声明的,但第一个版本更常见.
编辑:
这是检测滚动的方法
var scrolled = false;
$(window).on('scroll', function() {
scrolled = true;
});
//later
if (scrolled) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)