我有此代码,其获得所述类被点击超链接和切换的播放和暂停图标超链接中的一个特定的div变量的值。我与JavaScript逻辑的一个问题:保留在随后的功能
var mediaClicked_class = "";
var previousMediaClicked_class = "";
var pauseIconStatus = null;
// Get class of clicked hyperlink
function mediaClick_class(clicked_class) {
alert(pauseIconStatus + " : Initial pause Icon status");
mediaClicked_class = clicked_class; // when i click map hyperlink, pass respective class into variable
preEmptivePlay(mediaClicked_class, pauseIconStatus);
}
function preEmptivePlay(mediaClicked_class, pauseIconStatus) {
if (pauseIconStatus == null) { //global var. init.
//toggle class of currently clicked div.icon
$("div.icon_" + mediaClicked_class).toggleClass("playicon pauseicon");
var pauseIconAvailability = $("div.icon_" + mediaClicked_class).hasClass("pauseicon");
if (pauseIconAvailability) { //true - playing
pauseIconStatus = 1;; //pause icon is active i.e. song is playing
previousMediaClicked_class = mediaClicked_class; //store current class to be called later
alert(pauseIconStatus + " : Current icon status");
} else { //false - not playing
pauseIconStatus = 0;; //pause icon is inactive i.e. song is not playing
previousMediaClicked_class = mediaClicked_class;
alert(pauseIconStatus + " : Current icon status");
}
}
}
的问题是,当我点击超链接,这个函数被调用,而第四行初始化,而不是保留pauseIconStatus
为null
每次,在随后的调用中可能的值为0。
我在哪里可以声明这个变量初始化为null,然后在随后的调用中重新初始化呢?
你的逻辑看起来不错。没有看到一个可行的例子,很难说出了什么问题。控制台中是否有错误?你看到任何'alert()'? –
@RoryMcCrossan,一个函数的诅咒,其参数以全局再次敲击命名! =)(它花了我几次运行,因为它最终点击那就是它) – Rob
@Rob很好被发现 - 我完全错过了:) –