diff options
author | zx14 <zx14@vndb.org> | 2019-06-21 10:03:20 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2019-06-21 10:03:20 +0200 |
commit | 928b195a0c2cc8379392074a59936debad8ebab3 (patch) | |
tree | 5535ae361b5fb338b77276baf9ec2d3a9423f535 /data/js | |
parent | aab43cb3321ebc5149a30e23773f4ff97888b17e (diff) |
CSS-based character descriptions
Squashed commit of the following:
commit bfc1de9f73f93981445b3451ba6087ef1de9ce36
Author: zx14 <zx14@vndb.org>
Date: Thu Jun 20 20:19:39 2019 +0659
Fix issues, pointed out in https://code.blicky.net/yorhel/vndb/pulls/24
commit c2b250b24e87d1b5c9589770fcff65f848f2e8f0
Author: zx14 <zx14@vndb.org>
Date: Sat Jun 15 22:27:21 2019 +0659
CSS-based character descriptions
Diffstat (limited to 'data/js')
-rw-r--r-- | data/js/charops.js | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/data/js/charops.js b/data/js/charops.js index 7adb6ae2..02c8a75c 100644 --- a/data/js/charops.js +++ b/data/js/charops.js @@ -5,10 +5,10 @@ var spoil, sexual, t; function fixrow(c) { var l = byName(byName(c, 'td')[1], 'span'); var first = 1; - for(var i=0; i<l.length; i+=2) - if(!hasClass(l[i], 'hidden')) { - setClass(l[i+1], 'hidden', first); + for(var i=0; i<l.length; i++) + if(!hasClass(l[i], 'ishidden')) { first = 0; + break; } setClass(c, 'hidden', first); } @@ -32,18 +32,15 @@ function restripe() { } -function setall(h) { +function setall() { var k = byClass('charspoil'); for(var i=0; i<k.length; i++) - setClass(k[i], 'hidden', + setClass(k[i], 'ishidden', !sexual && hasClass(k[i], 'sexual') ? true : hasClass(k[i], 'charspoil_0') ? false : hasClass(k[i], 'charspoil_-1') ? spoil > 1 : hasClass(k[i], 'charspoil_1') ? spoil < 1 : spoil < 2); - for(var i=0; i<3; i++) - setClass(h[i], 'sel', spoil == i); - if(h[3]) - setClass(h[3], 'sel', sexual); + if(k.length) restripe(); return false; @@ -51,29 +48,34 @@ function setall(h) { function init() { - var h = byName(byId('charops'), 'a'); + var opsParent = byId('charops'); t = byClass('table', 'stripe'); // Spoiler level for(var i=0; i<3; i++) { - h[i].num = i; - h[i].onclick = function() { + var splChk = byClass(opsParent, 'radio_spoil' + i)[0]; + + splChk.num = i; + splChk.onchange = function() { spoil = this.num; - return setall(h); + return setall(); }; - if(hasClass(h[i], 'sel')) + if(splChk.checked) spoil = i; }; // Sexual toggle - if(h[3]) { - h[3].onclick = function() { + var sexChk = byClass(opsParent, 'sexual_check'); + if(sexChk.length) { + sexChk = sexChk[0] + + sexChk.onchange = function() { sexual = !sexual; - return setall(h); + return setall(); }; - sexual = hasClass(h[3], 'sel'); + sexual = sexChk.checked; } - setall(h); + setall(); } |