-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|545|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Socoder -> Web Development -> Javascript problem

Posted : Tuesday, 13 March 2012, 14:19
1. Please don't tell me to use jQuery, I'm not going to.

2. The actual question...

Say I have the following on a page. Each of the 'slide' divs can have as many or as few items in it as wanted. There can also be as many or as few 'slides' as wanted.

and I have the following (broken) script...

As you can probably tell, I'm trying to change the x position of each of the items labeled as 'background' or 'layer'. I assume I'm over complicating things a little, but...

Am I attempting this the 'correct' way? (it doesn't work)...

Any help appreciated Thanks.

Check out my excellent homepage!
Posted : Tuesday, 13 March 2012, 14:27
It seems at a glance that your problem is that you're trying to access layer images from INSIDE the background image... I haven't fiddled with the script yet, but It looks like you just need to move the 'layers' for loop outside of the 'background' for loop.
Posted : Tuesday, 13 March 2012, 14:29
Do you have a reason for avoiding jQuery?
Posted : Tuesday, 13 March 2012, 14:40
Make sure the parent div has a position set to something other then static, which is the default. Relative is a good one to use if you don't want the position to actually effect the element.

Width, scroll1 and scroll2 also don't seem to be in scope. Ensure these actually exist, or they will be undefined.

You can also use Document.querySelectorAll to select multiple items, rather then doing lots of loops. i.e.

However I still don't quite understand what it is that you are building.


PlayMyCode.com - build and play in your browser, Blog, Twitter.
Posted : Tuesday, 13 March 2012, 14:41
Your other issue was that NodeLists have no count property: you were looking for the length property. This is a version of the script that (probably) does what you are expecting it to.

I assume you want to scroll the layers and the background at the same time, so you'd probably only want to use one "scroll" variable.
Posted : Tuesday, 13 March 2012, 14:42
... slides.count returns 'undefined' - it's not even getting to the backgrounds/layers part

Check out my excellent homepage!
Posted : Tuesday, 13 March 2012, 14:53
I'm not sure if this is what you're looking for, but it should (probably) work:

Have overflow:hidden; set in the css for objects with the slide class, have a larger div inside the slide class div, and then use something based on:

That should have the effect of moving the x co-ordinate of the images...

''It works, but I'm not sure why it works...''
Posted : Tuesday, 13 March 2012, 14:56
forget my above comment, thats what I get for not knowing a lot of javascript, should be slides.length, not count...

Check out my excellent homepage!