Solved

Change  Mouseenter to permanent visibility

Posted on 2010-08-25
7
466 Views
Last Modified: 2012-08-13
Hello, all.

I have a script that was available on the net for a fading slideshow.  All is working fine.

I just want to tweak it one little bit.

The slideshow displays images in a fading manner.  When the mouse enters the image area, a caption slides up from the bottom, and then it disappears when leaving the image area.

I would like the caption to remain on all the time.

I will attach the .js file.


I noticed in the script, around line 76-ish, that there are 3 lines of code that seemed relevant:
                  else if (setting.descreveal=="ondemand"){ //display desc panel on demand (mouseover)
                        setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidedescpanel('show')})
                        setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidedescpanel('hide')})
                  }


I see the "mouseenter" and "mouseleave" lines.  I altered the "mouseleave" to "SHOW" when the mouse left the image, and that worked fine.

My main question is... is there some other handler (not sure what it's called) that could replace "mouseenter" so the caption would be on all the time.  I tried removing the "mouseleave" line and removing the "mouseenter" portion to only have the function to "show" the panel, but that did not work.

The file is attached for context.

That little block of code seems to be where the action is for that feature, but being a Javascript amateur, I'm not sure how to make it permanently visible.

Your help is always appreciated.

Thanks,
Shane
fadeslideshow.js
0
Comment
Question by:lshane
7 Comments
 
LVL 40

Expert Comment

by:gurvinder372
ID: 33528245
try doing the same thing at mouseleave also
i.e.

 else if (setting.descreveal=="ondemand"){ //display desc panel on demand (mouseover)
                        setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidedescpanel('show')})
                        setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidedescpanel('show')})
                  }

0
 

Author Comment

by:lshane
ID: 33528294
Hi, gurvinder372.

Yeah, I tried that one before.  It definitely keeps the caption visible... AFTER it slides up from the bottom, and it remains visible when leaving the area, and when it goes to the next slide without a caption.

I was just thinking that "mouseenter" could be replaced with something like "always", or something like that.  I am truly shooting in the dark.  I would think this little area is where the tweak would take place, but I'm not versed enough in Javascript to really parse the code effectively.

Any other ideas?
0
 
LVL 40

Expert Comment

by:gurvinder372
ID: 33528311
or else you can do some thing simpler

setting.$wrapperdiv.mouseover(function() {
  slideshow.showhidedescpanel('show');
});

check this
http://api.jquery.com/mouseover/
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 2

Accepted Solution

by:
eoindevery earned 500 total points
ID: 33528324
Replace

else if (setting.descreveal=="ondemand"){ //display desc panel on demand (mouseover)
                        setting.$wrapperdiv.bind('mouseenter', function(){slideshow.showhidedescpanel('show')})
                        setting.$wrapperdiv.bind('mouseleave', function(){slideshow.showhidedescpanel('hide')})
                  }


with

else if (setting.descreveal=="ondemand"){ //display desc panel on demand (mouseover)
                        slideshow.showhidedescpanel('show')})
}


The script has some settings that can be tweaked in the html file by the looks of it. There is a setting
    setting.descreveal="always";
which should be set to if you want the description to always be visible.

Something like:

var mySlideshow=new fadeSlideShow("descreveal":"always");

in the HEAD section of the page.


0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 33528664
that would likely be


var mySlideshow=new fadeSlideShow({"descreveal":"always"});

0
 

Author Closing Comment

by:lshane
ID: 33531446
Perfect.
0
 

Author Comment

by:lshane
ID: 33531459
Thank you, eoindevery.

I would not have thought it would have been in the HEAD section.

I found it and changed from "ondemand" to "always" = Worked perfectly.


Thank you!
Shane
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you need to keep track of a simple list of numbers or strings, the Array object is your most direct tool.  As we saw in my earlier EE Article (http://www.experts-exchange.com/A_3488.html), typical array handling might look like this: (CODE) B…
In this article, we'll look how to sort an Array in JavaScript, including the more advanced techniques of sorting a collection of records either ascending or descending on two or more fields. Basic Sorting of Arrays First, let's look at the …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question