[英]change variable value in event handler function
我正在嘗試在我的functiontest
更改gaTop
functiontest
但我不明白為什么它不起作用
var gaTop = 0;
functionTest = function(callback)
{
$('html').on("mousewheel DOMMouseScroll", function(e)
{
var delta = (e.originalEvent.wheelDelta || -e.originalEvent.detail);
if (delta < 0)
{
var gaTop = -100;
}
else if (delta > 0)
{
var gaTop = +100;
}
console.log(gaTop);
callback(gaTop);
});
}
functionTest(function(e)
{
console.log(gaTop);
});
作為參考: 聲明與初始化變量?
var ga = 0;
var gaTop = null;
functionTest = function(callback) {
$('html').on("mousewheel DOMMouseScroll", function(e) {
var delta = (e.originalEvent.wheelDelta || -e.originalEvent.detail);
if (delta < 0) {
gaTop = -100;
}
else if (delta > 0) {
gaTop = 100;
}
console.log(gaTop);
callback(gaTop);
});
}
functionTest(function(e) {
console.log(gaTop);
});
在賦值之前,先在頂部初始化變量。 否則它將不會被設置,您正在創建新變量並在if和else導致問題的部分中都設置了值。
var gaTop = null;
if (delta < 0) {
gaTop = -100;
}
else if (delta > 0) {
gaTop = +100;
}
它終於工作了,謝謝您的幫助!
var gaTop = 0;
functionTest = function(callback) {
$('html').on("mousewheel DOMMouseScroll", function(e) {
var delta = (e.originalEvent.wheelDelta || -e.originalEvent.detail);
if (delta < 0) {
gaTop = gaTop -100;
}
else if (delta > 0) {
gaTop = gaTop +100;
}
callback(gaTop);
});
}
functionTest(function(e) {
console.log(gaTop);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.