我正在尝试创建一个看起来像Windows桌面的网页界面。
我的问题是,当我点击开始菜单中的应用程序图标时,我想在任务栏中添加该应用程序图标。在添加之前,我在开始菜单中将该类添加到该图标以标记此应用已经打开,因此如果该应用已经打开,我不希望将新应用图标附加到任务栏中。
我使用了下面的代码,但即使这样,该类也被添加,任务栏中的新图标仍然被追加。
$(".app_ico").on('click', function() {
var checkClass = function() {
var check = $(".app_ico").hasClass("luanched");
if (check === true) {
return (true);
} else {
return (false);
}
}
checkClass();
var appIcoId = $(this).attr("id");
var appId = "#" + appIcoId.substring(4);
if (checkClass() === false) {
$(this).addClass("launched");
$("" + appId).addClass("app_open");
$(".taskbar").append("<div>A</div>");
} else {
$("" + appId).addClass("app_open");
}
答案 0 :(得分:1)
问题是因为您设置了班级launched
,但检查了luanched
。此外,您的逻辑可以改进。例如,您的checkClass()
功能完全是多余的。试试这个:
$(".app_ico").on('click', function() {
$("#" + this.id.substring(4)).addClass("app_open");
if (!$(this).hasClass("launched")) {
$(this).addClass("launched");
$(".taskbar").append("<div>A</div>");
}
});
答案 1 :(得分:0)
使用hasClass
if( $("selector").hasClass("calss") )
{
// if selector has class
} else{
// no chance
}