[ 
https://issues.apache.org/jira/browse/TOMAHAWK-996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12497348
 ] 

Joost Schouten commented on TOMAHAWK-996:
-----------------------------------------

Dear Grant,

I looked into it and have to admit I have no clue how to do it. I have too 
little knowledge of svn to understand what is explained.

I'm eager to learn, but would need some pointers to provide you with a patch 
anytime soon. Do you know of a good starting point to start learning how to 
work with svn and mvn on apache projects?

Thank you,
Joost Schouten


> /schedule.HtmlSchedule/javascript/domLib.js causes flicker for :hover css in 
> IE 7
> ---------------------------------------------------------------------------------
>
>                 Key: TOMAHAWK-996
>                 URL: https://issues.apache.org/jira/browse/TOMAHAWK-996
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: Schedule
>    Affects Versions: 1.1.6-SNAPSHOT
>         Environment: IE7 (maybe lower as well, have not tested)
>            Reporter: Joost Schouten
>         Assigned To: Grant Smith
>         Attachments: domLib.js
>
>
> The function domLib_getEventPosition(in_eventObj) in the 
> /schedule.HtmlSchedule/javascript/domLib.js resource calls 
> document.scrollLeft and document.scrollTop which causes css :hover selector 
> to be lifted for a split second resulting in a flickering of the affected 
> elements for which the :hover == true. Check the following link in IE and 
> roll over the navigation a few times to see the flicker in action.
> flicker: http://www.jsportal.com/myfaces/flicker.html
> A minor change to the function moving the document.scrollLeft and 
> document.scrollTop out of the onmousemove event function and into a seperate 
> onscroll event function fixes the problem. I would suggest to change the 
> domLib_getEventPosition(in_eventObj)  to the code shown at [1] . Note the 
> added scroll track event listner as well.
> I look forward to seeing this implemented as I do use the schedule in 
> combination with :hover extensively.
> Regards,
> Joost
> [1] new code.
> /**Keep track of the scroll values for IE outside of the mouseposition
>  * method, as calling doc.scrollLeft and doc.scrollTop will interfere with 
> the css :hover and 
>  * will invalidate :hover for a split second causing a flicker. Now 
> doc.scrollLeft and doc.scrollTop
>  * will only be called on a scroll, fixing almost all situations in which 
> this flicker will occur
>  */
> var domLib_IE_scrollLeft = 0;
> var domLib_IE_scrollTop = 0;
> if (domLib_isIE)
> {
>       window.onscroll = function(in_event)
>       {
>               if (typeof(in_event) == 'undefined')
>               {
>                       in_event = event;
>               }
>               var doc = (domLib_standardsMode ? document.documentElement : 
> document.body);
>               domLib_IE_scrollLeft = doc.scrollLeft;
>               domLib_IE_scrollTop = doc.scrollTop;
>       }
> }
> function domLib_getEventPosition(in_eventObj)
> {
>       if(event.type != 'mousemove')
>               alert('event.type: ' + in_eventObj.type);
>       var eventPosition = new Hash('x', 0, 'y', 0, 'scrollX', 0, 'scrollY', 
> 0);
>       // IE varies depending on standard compliance mode
>       if (domLib_isIE)
>       {
>               // NOTE: events may fire before the body has been loaded
>               eventPosition.set('x', in_eventObj.clientX + 
> domLib_IE_scrollLeft);
>               eventPosition.set('y', in_eventObj.clientY + 
> domLib_IE_scrollTop);
>               eventPosition.set('scrollX', domLib_IE_scrollLeft);
>               eventPosition.set('scrollY', domLib_IE_scrollTop);
>       }
>       else
>       {
>               eventPosition.set('x', in_eventObj.pageX);
>               eventPosition.set('y', in_eventObj.pageY);
>               eventPosition.set('scrollX', in_eventObj.pageX - 
> in_eventObj.clientX);
>               eventPosition.set('scrollY', in_eventObj.pageY - 
> in_eventObj.clientY);
>       }
>       return eventPosition;
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to