CodingLightbox2

 

Press Ctrl+Enter to quickly submit your post
Quick Reply  
 
 
  
 From:  af (CAER)  
 To:  ANT_THOMAS      
38538.81 In reply to 38538.80 
I have thought about such a thing, aye, but it complicates things rather a lot, I think. It's been a while since I've looked at the JS code, so I couldn't tell you what it'd involve right now.
0/0
 Reply   Quote More 

 From:  ANT_THOMAS   
 To:  af (CAER)     
38538.82 In reply to 38538.81 

That's fair enough.

 

I've looked into similar things in the past for gallery navigation and using direction keys as a way of clicking onto next and previous and it looked messy to me, I could never get anything to work, but then again my coding clevers aren't exactly great!

0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  ANT_THOMAS      
38538.83 In reply to 38538.82 
The main issue is determining what the 'Next' and 'Previous' images are – there's no easy way to figure it out. I might have a look to see how other light box things have done it.
0/0
 Reply   Quote More 

 From:  Peter (BOUGHTONP)  
 To:  af (CAER)     
38538.84 In reply to 38538.83 
quote:
The main issue is determining what the 'Next' and 'Previous' images are – there's no easy way to figure it out.

Without having any idea of the context of this, you identify them by checking the class and rel attributes - i.e. [class=nav][rel=next] and [class=nav][rel=prev] - which is perfectly easy to do?
0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  Peter (BOUGHTONP)     
38538.85 In reply to 38538.84 
No, I mean how do you determine which image to show when the user clicks Next or Previous? From what I remember, one implementation had an option to specify list of 'containers', which would be one way to group images/links.
0/0
 Reply   Quote More 

 From:  Peter (BOUGHTONP)  
 To:  af (CAER)     
38538.86 In reply to 38538.85 
:? You seem to be making a mountain out of a wormhill.

You show the image that is the immediate sibling of the current one.

If you are at the end of a container you do one of three things:

1) nothing (maybe display some "end" message/indication)
2) loop back to other end of current container
3) proceed to first/last image of next/prev container

Which of those three you do would be a configuration option, and/or dependant on what key the user presses.

For example:
code:
function determineNextChild( container )
{
	if ( container.hasNextChild() ) return container.nextChild()

	switch ( EndImageBehaviour )
	{
		case 'nothing' : return null
		case 'loop'    : return container.firstChild()
		case 'proceed' : return container.nextContainer().firstChild()
		default : error("Invalid EndImageBehaviour setting")
	}

}


To identify the containers, you simply have an array of dom nodes/pointers. These are provided either as a single parent element (if the HTML is all in one piece), and/or as an array of individual containers (if they are separated/mixed in the HTML), in both cases either using CSS selectors, or as raw DOM nodes.

code:
ContainerParent : document.getElementById('MyContainers')

code:
Containers : ['#album1','#album3','.otheralbums:not(#al7)']


etc.
0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  Peter (BOUGHTONP)     
38538.87 In reply to 38538.86 
quote:
You show the image that is the immediate sibling of the current one.
That's the problem – no assumptions are (currently, at least) made about the structure of the HTML. The script attaches a click handler to the document body and, starting with the event's target, works its way up through the DOM tree until it finds an appropriate link (in which case it shows a popup), or it reaches the top of the tree. It has no knowledge of adjacent nodes, nor at what level it should start traversing back down the tree to find the next link. There needn't even be any images on the page itself, merely links to them.

HTML code:
<ul id="container1">
  <li><span>(1 of 3)</span> <a href="kitten.jpg">Kitten</a></li>
  <li><span>(2 of 3)</span> <a href="puppy.jpg">Puppy</a></li>
  <li><span>(3 of 3)</span> <a href="squirrel.jpg">Squirrel</a></li>
</ul>
0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  Peter (BOUGHTONP)     
38538.88 In reply to 38538.86 
The code I described is here, fwiw:
https://github.com/caerphoto/QuickSlide/blob/master/quickslide.js#L87
0/0
 Reply   Quote More 

 From:  ANT_THOMAS   
 To:  af (CAER)     
38538.89 In reply to 38538.88 

I'm guessing you haven't looked much more into this?

 

A friend I'm making a site for wants Next and Prev buttons and I really don't want to use Lightbox :(

0/0
 Reply   Quote More 

 From:  af (CAER)  
 To:  ANT_THOMAS      
38538.90 In reply to 38538.89 
Heh no, I haven't had much time for it, alas. Maybe this weekend if I feel up to it, but no guarantees.
0/0
 Reply   Quote More 

 From:  ANT_THOMAS   
 To:  af (CAER)     
38538.91 In reply to 38538.90 
I just thought I'd add that there's no rush. I had a look for lightbox alternatives and found FancyBox which so far seems to do what I want.
0/0
 Reply   Quote More 

Reply to All    
 

1–20  …  41–60  61–80  81–91

Rate my interest:

Adjust text size : Smaller 10 Larger

Beehive Forum 1.5.2 |  FAQ |  Docs |  Support |  Donate! ©2002 - 2024 Project Beehive Forum

Forum Stats