Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   HTML (http://www.velocityreviews.com/forums/f31-html.html)
-   -   Alter the properties of a CSS class? (http://www.velocityreviews.com/forums/t160190-alter-the-properties-of-a-css-class.html)

Noozer 12-05-2004 08:46 PM

Alter the properties of a CSS class?
 
I have several tags on a webpage of the same class. If the user clicks a
specific checkbox I'd like to be able to alter the display property of the
class, affecting all objects of that class.

This is an intranet application so we know that javascript will be enabled
and the browser will be IE.

How can I affect all the members of this class?

ie:

default.css file contains the following and is included into the HTLM
document:

.topicone { display:none; }
.topictwo { display:none; }

Relevant section of HTML code:
<input type="checkbox" onclick="flip('topicone')'">Show me information
about topic one.<br>
<input type="checkbox" onclick="flip('topictwo')'">Show me information
about topic two.<br>
<p>Please see the following:</p>
<p> Quick Points </p>
<p class="topicone">This is some information about topic one.</p>
<p class="topictwo">This is some information about topic two.</p>
<p> Details </p>
<p class="topicone">More information about topic one.</p>
<p class="topicone">More information about topic one.</p>
<p class="topictwo">This is some information about topic two.</p>



SpaceGirl 12-05-2004 11:57 PM

Re: Alter the properties of a CSS class?
 
Noozer wrote:
> I have several tags on a webpage of the same class. If the user clicks a
> specific checkbox I'd like to be able to alter the display property of the
> class, affecting all objects of that class.
>
> This is an intranet application so we know that javascript will be enabled
> and the browser will be IE.
>
> How can I affect all the members of this class?
>
> ie:
>
> default.css file contains the following and is included into the HTLM
> document:
>
> .topicone { display:none; }
> .topictwo { display:none; }
>
> Relevant section of HTML code:
> <input type="checkbox" onclick="flip('topicone')'">Show me information
> about topic one.<br>
> <input type="checkbox" onclick="flip('topictwo')'">Show me information
> about topic two.<br>
> <p>Please see the following:</p>
> <p> Quick Points </p>
> <p class="topicone">This is some information about topic one.</p>
> <p class="topictwo">This is some information about topic two.</p>
> <p> Details </p>
> <p class="topicone">More information about topic one.</p>
> <p class="topicone">More information about topic one.</p>
> <p class="topictwo">This is some information about topic two.</p>
>
>


Yes, you can modify any CSS property on the fly.

Give the items you want to change a unique ID and you can selected them
in JS.

<div id="topic1">content</div>
<a href="#" onclick="switchBackground();">click here to change the
background</a>


In your code (for example);


<script type="text/javascript>

function switchBackground() {

myDiv = document.getElementById("topic1");

if (myDiv.style.backgroundColor != "black") {

myDiv.style.backgroundColor = "black";

} else {

myDiv.style.backgroundColor = "white";

}

</script>

This would change the background color of that div to black.

Now, you can write a simple loop around this to scan through ALL divs on
the page and change the properties of them, or even change the classes
rather than properties...


myDiv.class = "highlighted";


....would also work if you have a class called highlighted in your CSS.

You can actually modify anything inside the DOM using this technique.

--


x theSpaceGirl (miranda)

# lead designer @ http://www.dhnewmedia.com #
# remove NO SPAM to email, or use form on website #

Noozer 12-06-2004 02:59 PM

Re: Alter the properties of a CSS class?
 

"SpaceGirl" <NOtheSpaceGirlSPAM@subhuman.net> wrote in message
news:31hlmcF3b21lsU1@individual.net...
> Noozer wrote:
> > I have several tags on a webpage of the same class. If the user clicks a
> > specific checkbox I'd like to be able to alter the display property of

the
> > class, affecting all objects of that class.
> >
> > This is an intranet application so we know that javascript will be

enabled
> > and the browser will be IE.
> >
> > How can I affect all the members of this class?
> >
> > ie:
> >
> > default.css file contains the following and is included into the HTLM
> > document:
> >
> > .topicone { display:none; }
> > .topictwo { display:none; }
> >
> > Relevant section of HTML code:
> > <input type="checkbox" onclick="flip('topicone')'">Show me information
> > about topic one.<br>
> > <input type="checkbox" onclick="flip('topictwo')'">Show me information
> > about topic two.<br>
> > <p>Please see the following:</p>
> > <p> Quick Points </p>
> > <p class="topicone">This is some information about topic one.</p>
> > <p class="topictwo">This is some information about topic two.</p>
> > <p> Details </p>
> > <p class="topicone">More information about topic one.</p>
> > <p class="topicone">More information about topic one.</p>
> > <p class="topictwo">This is some information about topic two.</p>
> >
> >

>
> Yes, you can modify any CSS property on the fly.
>
> Give the items you want to change a unique ID and you can selected them
> in JS.
>
> <div id="topic1">content</div>
> <a href="#" onclick="switchBackground();">click here to change the
> background</a>
>
>
> In your code (for example);
>
>
> <script type="text/javascript>
>
> function switchBackground() {
>
> myDiv = document.getElementById("topic1");
>
> if (myDiv.style.backgroundColor != "black") {
>
> myDiv.style.backgroundColor = "black";
>
> } else {
>
> myDiv.style.backgroundColor = "white";
>
> }
>
> </script>
>
> This would change the background color of that div to black.
>
> Now, you can write a simple loop around this to scan through ALL divs on
> the page and change the properties of them, or even change the classes
> rather than properties...
>
>
> myDiv.class = "highlighted";
>
>
> ...would also work if you have a class called highlighted in your CSS.
>
> You can actually modify anything inside the DOM using this technique.


Appreciated, but is there any way to do this without having to specify ID's
for all the related elements? Much of the content is dynamically generated
and generating DIV's would be a pain.

Thx



Jeffrey Silverman 12-06-2004 04:39 PM

Re: Alter the properties of a CSS class?
 
On Mon, 06 Dec 2004 14:59:29 +0000, Noozer wrote:

>
> Appreciated, but is there any way to do this without having to specify ID's
> for all the related elements? Much of the content is dynamically generated
> and generating DIV's would be a pain.
>
> Thx


I didn't read in detail, but these links might help you (and they might
not):

<http://www.webmasterworld.com/forum91/1729.htm>
<http://www.google.com/search?q=getelementbyclass&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official>

later...

--
Jeffrey D. Silverman | jeffreyPANTS@jhu.edu
Website | http://www.newtnotes.com

Drop "PANTS" to reply by email



All times are GMT. The time now is 02:59 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.