Widget:CharacterList
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.0.min.js"></script> <style>
- charPanel button {
background-color: #b36e14;
border: 1px solid #64320d;
outline: none;
cursor: pointer;
padding: 0px 10px;
transition: 0.3s;
display: inline;
color: white;
height: 25px;
}
- breaker {
display: block;
text-align: left;
font-size: 20px;
font-weight: bold;
padding: 5px;
}
div.charFilter select{ border: 1px solid #000;
color: #fff; background: #444; position: relative; width: 150px; float: left; height: 25px; margin-right: 5px;
} div.charFilter{ display: inline-block;
padding-left: 15px;
padding-right: 15px;
width: 100%;
} div.filterLeft{ float: left; } div.filterRight{ float: right; } div.charBox {
display: inline-block; padding: 3px; position: relative; width: calc((100% / 6) - 3px); border: 2px solid rgba(0,0,0,0.0); filter: opacity(70%); transition: filter .6s;
border-radius:7px; overflow: hidden;
margin-bottom:-6px;
} .charBox:hover .charName, .charBox.hovered .charName {
display: block;
} div#charPanel {
text-align: center; background: rgba(68,68,68,0.2); border-radius: 15px; border: 2px solid #8b4513; padding: 10px;
}
div.charBox a{ display: block;
height: 100%; color: #F9E4CA;
} .charBox.hovered {
filter: opacity(100%);
}
.charBox:hover { border-color:#F9E4CA;
filter: opacity(100%);
}
div.charName{
position: absolute; bottom: 0; left: 0; right: 0; text-align: center; font-weight: bold; display: none; background: rgba(15,15,15,0.7); padding: 3px;
font-family: "Cinzel Decorative";
}
div.charBox img { width:150px; }
@media only screen and (max-device-width: 768px) { div.charBox img { width:85px; } div.charBox { width: calc((85% / 6) - 3px); } div.charName { font-size: 10px; } } </style>
<img id="loading" height="500" src="/images/4/42/Loading.gif">
<script>
$("#charHolder").hide();
var series1 = [];
var obj = {};
obj["name"] = ""; obj["image"] = ""; obj["link"] = ""; obj["campaigns"] = ; series1.push(obj);
for(var i = 0; i < series1.length; i++){ var campaigns = ""; for(var j = 0; j < series1[i].campaigns.length; j++){ campaigns = campaigns + " " + series1[i].campaigns[j]; } campaigns = campaigns.substring(1); if(campaigns.indexOf("s1c") > -1){
$("div#charHolder").append("
");
} }
$("div#charPanel").prepend("
");
$("div.filterLeft").append("<select id='mainFilter'><option>Season 1</option><option>Season 2</option><option>Season 3</option>"); $("div.filterRight").append("<select id='seasonFilter-s1'><option>Season 1 Characters</option><option>Band of Thieves</option> <option>Porc Hunters</option> <option>The Jewel of the Dingo Isles</option> <option>The Sunswords</option> <option>The Unseen Rogues</option> <option>Kobold Headhunters</option> <option>Zarlin Catacombs</option> <option>The New Crew</option> <option>Silvermine Mountains</option><option>Guild of Explorers</option><option>Battle of the Bards</option><option>The Blood Snake Queen</option><option>The Death of Virgo</option><option>Player Characters</option><option>NPC Characters</option><option>Minor Characters</option></select> <select id='seasonFilter-s2'><option>Season 2 Characters</option> <option>Woodcarvers</option> <option>Okagnoma Guild Hall</option> <option>Murder Bros</option> <option>The Cobblers</option> <option>The Tower of Ultimate Wizardry: Chapter One</option> <option>Unexpected Discovery</option> <option>Buckeroos</option> <option>Fall of Dundinborough</option> <option>Den of Devils</option> <option>The Skeleton King</option><option>Player Characters</option><option>NPC Characters</option><option>Minor Characters</option></select> <select id='seasonFilter-s3'><option>Season 3 Characters</option><option>The Grand Paladin Order</option><option>Player Characters</option><option>NPC Characters</option><option>Minor Characters</option></select>"); $("#mainFilter").after("<button id='nametoggle' onclick='toggleNames(this)'>Toggle Names</button>"); $(".charFilter").hide(); /* Default */
$("div.filterRight select:not(#seasonFilter-s1)").hide(); $(".charBox:not([data-campaigns*='s1c'])").hide(); var firstChange = true; var allS1; var allS2; var allS3; $("#mainFilter").change(function() { if(firstChange){ loadOther(); allS1 = $(".charBox[data-campaigns*='s1c']"); allS2 = $(".charBox[data-campaigns*='s2c']"); allS3 = $(".charBox[data-campaigns*='s3c']"); firstChange=false; } $("div.filterRight select").hide(); if($("#nametoggle").css("background-color") != "rgb(179, 110, 20)"){ $("#nametoggle").click(); } if ($(this).val() == "Season 1") { $("#seasonFilter-s1").show(); $('div.filterRight select:not(#seasonFilter-s1)').prop('selectedIndex', 0); $("#charHolder").empty(); for(var i = 0; i < allS1.length; i++){ $("#charHolder").append(allS1[i]); } $("div.charBox[data-campaigns*='s1'").show(); } if ($(this).val() == "Season 2") { $("#seasonFilter-s2").show(); $('div.filterRight select:not(#seasonFilter-s2)').prop('selectedIndex', 0); $("#charHolder").empty(); for(var i = 0; i < allS2.length; i++){ $("#charHolder").append(allS2[i]); } $("div.charBox[data-campaigns*='s2'").show(); } if ($(this).val() == "Season 3") { $("#seasonFilter-s3").show(); $('div.filterRight select:not(#seasonFilter-s3)').prop('selectedIndex', 0); $("#charHolder").empty();
for(var i = 0; i < allS3.length; i++){ $("#charHolder").append(allS3[i]); } $("div.charBox[data-campaigns*='s3'").show(); } });
$("#seasonFilter-s1").change(function() { $("div.charBox").hide(); $("span#breaker").remove(); if ($(this).val() == "Season 1 Characters") { $("#charHolder").empty(); for(var i = 0; i < allS1.length; i++){ $("#charHolder").append(allS1[i]); } $("div.charBox[data-campaigns*='s1'").show();} if ($(this).val() == "Band of Thieves") { $("div.charBox[data-campaigns*='s1c1-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c1-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c1-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c1-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Porc Hunters") { $("div.charBox[data-campaigns*='s1c2-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c2-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c2-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c2-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Jewel of the Dingo Isles") { $("div.charBox[data-campaigns*='s1c3-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c3-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c3-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c3-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Sunswords") { $("div.charBox[data-campaigns*='s1c5-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c5-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c5-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c5-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Unseen Rogues") { $("div.charBox[data-campaigns*='s1c6-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c6-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c6-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c6-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Kobold Headhunters") { $("div.charBox[data-campaigns*='s1c7-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c7-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c7-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c7-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Zarlin Catacombs") { $("div.charBox[data-campaigns*='s1c8-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c8-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c8-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c8-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The New Crew") { $("div.charBox[data-campaigns*='s1c9-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c9-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c9-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c9-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Silvermine Mountains") { $("div.charBox[data-campaigns*='s1c10-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c10-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c10-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c10-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Guild of Explorers") { $("div.charBox[data-campaigns*='s1c11-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c11-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c11-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c11-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Battle of the Bards") { $("div.charBox[data-campaigns*='s1c12-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c12-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c12-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c12-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Blood Snake Queen") { $("div.charBox[data-campaigns*='s1c13-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c13-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c13-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c13-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Death of Virgo") { $("div.charBox[data-campaigns*='s1c14-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s1c14-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s1c14-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s1c14-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Player Characters") { $("#charHolder").empty(); for(var i = 0; i < allS1.length; i++){ $("#charHolder").append(allS1[i]);} $("div.charBox").hide(); for(var i = 1; i <= 14; i++){ $("div.charBox[data-campaigns*='s1c" + i + "-p']").show();} } if ($(this).val() == "NPC Characters") { $("#charHolder").empty(); for(var i = 0; i < allS1.length; i++){ $("#charHolder").append(allS1[i]);} $("div.charBox").hide(); for(var i = 1; i <= 14; i++){ $("div.charBox[data-campaigns*='s1c" + i + "-n']").show();} } if ($(this).val() == "Minor Characters") { $("#charHolder").empty(); for(var i = 0; i < allS1.length; i++){ $("#charHolder").append(allS1[i]);} $("div.charBox").hide(); for(var i = 1; i <= 14; i++){ $("div.charBox[data-campaigns*='s1c']").show();} $("div.charBox a:not([href*='Minor_Characters'])").parent().hide(); } });
$("#seasonFilter-s2").change(function() { $("div.charBox").hide(); $("span#breaker").remove();
if ($(this).val() == "Season 2 Characters") { $("#charHolder").empty(); for(var i = 0; i < allS2.length; i++){ $("#charHolder").append(allS2[i]); } $("div.charBox[data-campaigns*='s2'").show();} if ($(this).val() == "Woodcarvers") { $("div.charBox[data-campaigns*='s2c1-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c1-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c1-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c1-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Okagnoma Guild Hall") { $("div.charBox[data-campaigns*='s2c2-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c2-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c2-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c2-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Murder Bros") { $("div.charBox[data-campaigns*='s2c3-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c3-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c3-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c3-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Cobblers") { $("div.charBox[data-campaigns*='s2c4-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c4-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c4-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c4-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Tower of Ultimate Wizardry: Chapter One") { $("div.charBox[data-campaigns*='s2c5-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c5-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c5-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c5-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Unexpected Discovery") { $("div.charBox[data-campaigns*='s2c6-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c6-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c6-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c6-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Buckeroos") { $("div.charBox[data-campaigns*='s2c7-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c7-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c7-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c7-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Fall of Dundinborough") { $("div.charBox[data-campaigns*='s2c8-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c8-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c8-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c8-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Den of Devils") { $("div.charBox[data-campaigns*='s2c9-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c9-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c9-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c9-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "The Skeleton King") { $("div.charBox[data-campaigns*='s2c10-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s2c10-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s2c10-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s2c10-p']:parent:visible").first().before("Player Characters");} if ($(this).val() == "Player Characters") { $("#charHolder").empty(); for(var i = 0; i < allS2.length; i++){ $("#charHolder").append(allS2[i]);} $("div.charBox").hide(); for(var i = 1; i <= 10; i++){ $("div.charBox[data-campaigns*='s2c" + i + "-p']").show();} } if ($(this).val() == "NPC Characters") { $("#charHolder").empty(); for(var i = 0; i < allS2.length; i++){ $("#charHolder").append(allS2[i]);} $("div.charBox").hide(); for(var i = 1; i <= 10; i++){ $("div.charBox[data-campaigns*='s2c" + i + "-n']").show();} } if ($(this).val() == "Minor Characters") { $("#charHolder").empty(); for(var i = 0; i < allS2.length; i++){ $("#charHolder").append(allS2[i]);} $("div.charBox").hide(); for(var i = 1; i <= 10; i++){ $("div.charBox[data-campaigns*='s2c']").show();} $("div.charBox a:not([href*='Minor_Characters'])").parent().hide(); }
});
$("#seasonFilter-s3").change(function() { $("div.charBox").hide(); $("span#breaker").remove(); if ($(this).val() == "Season 3 Characters") { $("#charHolder").empty(); for(var i = 0; i < allS3.length; i++){ $("#charHolder").append(allS3[i]); } $("div.charBox[data-campaigns*='s3'").show();} if ($(this).val() == "The Grand Paladin Order") { $("div.charBox[data-campaigns*='s3c1-'").show(); var box = $(".charBox:visible"); for(var i = 0; i < box.length; i++){ if(box[i].getAttribute("data-campaigns").indexOf("s3c1-n") > -1){ $(".charBox:visible:last").after(box[i]); } } $("div#charHolder").find("[data-campaigns*='s3c1-n']:parent:visible").first().before("NPC Characters"); $("div#charHolder").find("[data-campaigns*='s3c1-p']:parent:visible").first().before("Player Characters");}
if ($(this).val() == "Player Characters") { $("#charHolder").empty(); for(var i = 0; i < allS3.length; i++){ $("#charHolder").append(allS3[i]);} $("div.charBox").hide(); for(var i = 1; i <= 10; i++){ $("div.charBox[data-campaigns*='s3c" + i + "-p']").show();} } if ($(this).val() == "NPC Characters") { $("#charHolder").empty(); for(var i = 0; i < allS3.length; i++){ $("#charHolder").append(allS3[i]);} $("div.charBox").hide(); for(var i = 1; i <= 10; i++){ $("div.charBox[data-campaigns*='s3c" + i + "-n']").show();} } if ($(this).val() == "Minor Characters") { $("#charHolder").empty(); for(var i = 0; i < allS3.length; i++){ $("#charHolder").append(allS3[i]);} $("div.charBox").hide(); for(var i = 1; i <= 10; i++){ $("div.charBox[data-campaigns*='s3c']").show();} $("div.charBox a:not([href*='Minor_Characters'])").parent().hide(); } });
$(window).on("load", function() { $("#loading").remove(); $("#charHolder").show(); $(".charFilter").show(); });
function loadOther(){ for(var i = 0; i < series1.length; i++){ var campaigns = ""; for(var j = 0; j < series1[i].campaigns.length; j++){ campaigns = campaigns + " " + series1[i].campaigns[j]; } campaigns = campaigns.substring(1); if(campaigns.indexOf("s1c") == -1){
$("div#charHolder").append("
");
} } } function toggleNames(val){ if(val.id = "nametoggle"){
if($(val).css("background-color") == "rgb(179, 110, 20)"){
$(".charName").css("display", "block");
$(".charBox").css('filter', 'opacity(100%)');
$("#nametoggle").css('background-color', '#89540F');
} else {
$(".charName").css("display", "");
$(".charBox").css("filter", "");
$("#nametoggle").css('background-color', '#b36e14');
}
} }
</script>


