We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

javascript or JS calander

Medium Priority
826 Views
Last Modified: 2010-08-05
I have looked for mouse over JS calander, not the new window pop up calendar.
When the user mouse over the link or button, the calendar is showed up and it can be selected month day and year. Pretty straght forward question.

Thank you
Comment
Watch Question

Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Commented:
This is best of breed that I have seen:  http://dynarch.com/mishoo/calendar/

Commented:
Its is easy to convert a pop up calendar into a mouse over calendar using a hidden DIV element and loading the calendar in that DIV.  Only problem is that you'll have to do some extra coding for positioning but again you can always have a reusable function that does that.  I am ready to help you write such code if you give me more details

Author

Commented:
Where can I download js file. Plus when it does not offer mouseout function.

iloya: You can want to check mark-b web links

Commented:
You can download the calendar I mentioned at: http://prdownloads.sourceforge.net/jscalendar/jscalendar-0.9.6.zip?download

As far as mouseOut and mouseOver goes- here's one way you can do it with this calendar:

1)  For the mouseover, when you call the Calendar.setup constructior, add the value pair:
              eventName     : "mouseover"

For example: In the test-position.html (root directory the distribution) change:

            Calendar.setup({
              inputField    : "cal-field-1",
              button         : "cal-button-1",
              align           : "Tr"
            });

to

            Calendar.setup({
              inputField    : "cal-field-1",
              button         : "cal-button-1",
              align           : "Tr",
              eventName  : "mouseover"
            });

This will make the mouseover on the '...' button pop up the calendar.

2) For the mouseout, you will have to modify the calendar.js file:

 a) Add a js function in this file (calendar.js):

    Calendar.calMouseOut = function(ev) {
      var el = Calendar.getTargetElement(ev);
      if ( el && el.id == 'someId' ) {
        window.calendar.callCloseHandler();
        Calendar.stopEvent(ev);
      }
    };

 b) Find the function in the calendar.js file that has this signature:
       Calendar.prototype.create = function (_par) :
 
     There is a block of code in this function that looks like this:

     if (this.isPopup) {
        div.style.position = "absolute";
        div.style.display = "none";
     }

     we need to add two lines in this block to fire the mouseout event:

     if (this.isPopup) {
        div.style.position = "absolute";
        div.style.display = "none";
->    div.id='someId';
->    calendar.addEvent(div, "mouseout", Calendar.calMouseOut);
     }

That's it.  Now the calendar will pop up when the mouse is over the button and it will disappear when the mouse is moved out of the calendar.

Commented:
Did this work for you or is there a problem?
ZvonkoSystems architect
CERTIFIED EXPERT
Top Expert 2006

Commented:
riskyricky1972  Last 10 Grades Given: C C C C C C C C C C
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.