OK, so if I try using that to set my banner, I come up with something
like this:

    var img = {
        '/ops/content/services': 'banner2.jpg',
        '/ops/content/services': 'banner3.jpg',
    }[location.pathname] || 'banner1.jpg';

    $("td#header").css("background","url(/ops/sites/all/themes/
theme060/images/" + img + ") no-repeat");

and it works like a charm.   All in 5 lines of code.  WOO HOO! Thanks
a ton!

Steve

But I keep getting an error

On Dec 22, 12:50 pm, "Michael Geary" <[email protected]> wrote:
> Sure, it's just a combination of some other JavaScript features that may
> look more familiar if we take them one by one:
>
>     // Use an object literal to create an object
>     // with two properties. Each property has
>     // a name and a value.
>     var images = {
>         '/services': 'one-image.png',
>         '/about-us': 'another-image.png'
>     };
>
>     // Select one of the properties from the
>     // object by name, and get its value. If
>     // not found, the value is undefined.
>     // (That doesn't mean an unpredictible
>     // value, it means the specific value in
>     // JavaScript known as "undefined".)
>     var img = images[location.pathname];
>
>     // Select a default image if img is undefined.
>     img = img || 'default-image.png';
>
>     // Or another way to do that last statement
>     // (means exactly the same thing):
>     if( ! img )
>         img = 'default-image.png';
>
> -Mike
>
> > From:Wonder95
>
> > Could you explain that construct?  I'm no JS expert, and I
> > haven't seen it before.
>
> > Thanks.
> > > If you want to do it in JavaScript, you don't need jQuery, regular
> > > expressions, or indexOf. window.location (or just location) has
> > > several properties that give you different pieces of the URL.
> > > location.pathname is the one you want here. Note that it
> > includes the leading slash. For example:
>
> > >     var img = {
> > >         '/services': 'one-image.png',
> > >         '/about-us': 'another-image.png'
> > >     }[location.pathname] || 'default-image.png';

Reply via email to