[英]Bool value returns false when the function set it to true in Javascript
我遇到了这个问题,准备好在文档中创建一个Audio Player,并创建一个var来播放为false,但每次似乎都正确调用了函数,但未将该变量设置为true:此代码是从Click侦听器调用的函数。
var cartSongPlayer = new Audio();
var playingStatus = false;
var playingTrack;
function switchTrack(trackID, trackSource) {
//logging basic information:
console.log('Current Track ID ' + trackID)
console.log('Current Track Source ' + trackSource)
console.log('Previous Track ID ' + playingTrack)
console.log('Playing Status ' + playingStatus)
if (playingStatus) {
console.log('song is playing')
if (trackID == playingTrack) {
playingStatus == false;
console.log('pausing current song')
cartSongPlayer.pause();
} else {
console.log('moved to new song')
playingStatus == true;
playingTrack = trackID
cartSongPlayer.src = trackSource;
cartSongPlayer.play();
}
//no song is playing
} else {
console.log('song is not playing')
if (trackID == playingTrack) {
playingStatus == true;
console.log('resumed song')
cartSongPlayer.play();
} else {
console.log('started new song')
playingStatus == true;
playingTrack = trackID
cartSongPlayer.src = trackSource;
cartSongPlayer.play();
}
}
}
您似乎在错误地使用==
比较运算符,而不是=
赋值运算符。
更改
playingStatus == true;
至
playingStatus = true;
您永远不会更改playingStatus
的值。
==
是相等运算符,不是赋值运算符( =
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.