Changing text and background without the css file

I've recently posted up a new version to a game - for this version, I changed the background colors through the css file. The problem is, some people love it and others do not.

Since I'm getting this effect through the css file, is there a way to change colors in the actual squiffy/js code? I'd rather toggle this change in-game, rather than maintain two separate versions of the game.

Thanks in advance.


I haven't used Squiffy much, but you should be able to add an extra section using javascript:

    jQuery('<style>', {id: 'customstyle'}).appendTo('head').text("body {background-color: green; color: purple;}");
    jQuery('#customstyle').append("p {border: 6px double red}");

and if you want to remove it again,

    jQuery('#customstyle').remove();

Overriding the built-in styles with a later style element is probably better than modifying the existing stylesheet reference, which leads to odd permission issues in some browsers.


I tried putting this into simple code and got the following error:

SyntaxError: Unexpected string

I have to admit, I'm not very good with javascript.


Sorry; disadvantage of typing on mobile. I missed out the colon after id on the first line.


Thanks a lot. You saved me from having to maintain TWO versions of the same game! I really appreciate it!


Hey, was playing with it tonight. I can make my active links LightCoral. However, I'd like to make my disabled links Brown. I can't seem to pull that off. Here's my test code.

[[init]]:

This is the basic color

[[next]]

[[next]]:

    jQuery('<style>', {id: 'customstyle'}).appendTo('head').text("body {background-color: black; color: Red;}");

    jQuery('#customstyle').append("a.squiffy-link {color: LightCoral;}");
    jQuery('#customstyle').append("a.squiffy-link.disabled {color: Brown;}");
    
Did it change?

[test passage]

[[back]]

[test passage]:
This is a test of a passage

[[back]]:

    jQuery('#customstyle').remove();
    
Clear new colors

[[The End]]

[[The End]]:

Testing that old links show correctly

I'm so close!


OK… for some reason, the default CSS includes the line:

a.squiffy-link.disabled {color: inherit !important;}

inherit means that it will be the same colour as the containing paragraph. !important prevents it being overridden by later scripts. I have no idea why they've done that.

So if you want to override it, the line will be:

    jQuery('#customstyle').append("a.squiffy-link.disabled {color: brown !important;}");

Brilliant! Thank you so very much for that fix, Mrangel. I've got an open day and figure I could get a patch together and put it out there. Also, this will make future games so much easier to work - no more screwing around with a css file; I can code colors in directly.

I really appreciate your quick and complete effort on this. If only my bank had this sort of customer service!


This topic is now closed. Topics are closed after 180 days of inactivity.

Support

Forums