2929 */
3030
3131/*
32- CHANGES IN 2.5.1:
33- + CSS for toolbarFooter adjusted in both js & css file (max-height removed; padding changed)
34- + draggable cursor removed when option.draggable: "disabled"
35- + jsPanel method configToolbar() changed to accept all elmts (not only <button>)
32+ CHANGES IN 2.5.2:
33+ + bugfix: replaced window.scrollY with $(window).scrollTop() and window.scrollX with $(window).scrollLeft() due to IE
3634 */
3735
3836// check for jQuery and jQuery UI components
@@ -49,7 +47,7 @@ var jsPanel;
4947( function ( $ ) {
5048 "use strict" ;
5149 jsPanel = {
52- version : '2.5.1 2015-05-11 08:00 ' ,
50+ version : '2.5.2 2015-05-14 21:05 ' ,
5351 device : ( function ( ) {
5452 try {
5553 // requires "mobile-detect.js" to be loaded
@@ -227,13 +225,13 @@ var jsPanel;
227225 // corrections if jsPanel is appended to the body element
228226 if ( panel . option . selector === 'body' ) {
229227 if ( prop === 'top' ) {
230- panel . option . position . top = parseInt ( optPosition . top , 10 ) + window . scrollY + 'px' ;
228+ panel . option . position . top = parseInt ( optPosition . top , 10 ) + $ ( window ) . scrollTop ( ) + 'px' ;
231229 } else if ( prop === 'bottom' ) {
232- panel . option . position . bottom = parseInt ( optPosition . bottom , 10 ) - window . scrollY + 'px' ;
230+ panel . option . position . bottom = parseInt ( optPosition . bottom , 10 ) - $ ( window ) . scrollTop ( ) + 'px' ;
233231 } else if ( prop === 'left' ) {
234- panel . option . position . left = parseInt ( optPosition . left , 10 ) + window . scrollX + 'px' ;
232+ panel . option . position . left = parseInt ( optPosition . left , 10 ) + $ ( window ) . scrollLeft ( ) + 'px' ;
235233 } else if ( prop === 'right' ) {
236- panel . option . position . right = parseInt ( optPosition . right , 10 ) - window . scrollX + 'px' ;
234+ panel . option . position . right = parseInt ( optPosition . right , 10 ) - $ ( window ) . scrollLeft ( ) + 'px' ;
237235 }
238236 }
239237 return panel . option . position [ prop ] ;
@@ -246,7 +244,7 @@ var jsPanel;
246244 posL = ( $ ( optSelector ) . outerWidth ( ) / 2 ) - ( ( parseInt ( optSize . width , 10 ) / 2 ) ) ,
247245 posT ;
248246 if ( optSelector === 'body' ) {
249- posT = ( $ ( window ) . outerHeight ( ) / 2 ) - ( ( parseInt ( optSize . height , 10 ) / 2 ) - window . scrollY ) ;
247+ posT = ( $ ( window ) . outerHeight ( ) / 2 ) - ( ( parseInt ( optSize . height , 10 ) / 2 ) - $ ( window ) . scrollTop ( ) ) ;
250248 } else {
251249 posT = ( $ ( optSelector ) . outerHeight ( ) / 2 ) - ( ( parseInt ( optSize . height , 10 ) / 2 ) ) ;
252250 }
@@ -306,7 +304,7 @@ var jsPanel;
306304 } ,
307305
308306 calcVerticalOffset : function ( panel ) {
309- return Math . floor ( panel . offset ( ) . top - window . scrollY ) ;
307+ return Math . floor ( panel . offset ( ) . top - $ ( window ) . scrollTop ( ) ) ;
310308 } ,
311309
312310 // closes a jsPanel and removes it from the DOM
@@ -503,8 +501,8 @@ var jsPanel;
503501 elmtPosition = $ ( elmt ) . position ( ) ;
504502 if ( elmtStatus === "minimized" ) {
505503 if ( panelParent . toLowerCase ( ) === "body" ) {
506- elmtTop = $ ( elmt ) . data ( "paneltop" ) - window . scrollY + "px" ;
507- elmtLeft = $ ( elmt ) . data ( "panelleft" ) - window . scrollX + "px" ;
504+ elmtTop = $ ( elmt ) . data ( "paneltop" ) - $ ( window ) . scrollTop ( ) + "px" ;
505+ elmtLeft = $ ( elmt ) . data ( "panelleft" ) - $ ( window ) . scrollLeft ( ) + "px" ;
508506 } else {
509507 elmtTop = $ ( elmt ) . data ( "paneltop" ) + "px" ;
510508 elmtLeft = $ ( elmt ) . data ( "panelleft" ) + "px" ;
@@ -513,8 +511,8 @@ var jsPanel;
513511 elmtHeight = $ ( elmt ) . data ( "panelheight" ) + "px" ;
514512 } else {
515513 if ( panelParent . toLowerCase ( ) === "body" ) {
516- elmtTop = Math . floor ( elmtOffset . top - window . scrollY ) + "px" ;
517- elmtLeft = Math . floor ( elmtOffset . left - window . scrollX ) + "px" ;
514+ elmtTop = Math . floor ( elmtOffset . top - $ ( window ) . scrollTop ( ) ) + "px" ;
515+ elmtLeft = Math . floor ( elmtOffset . left - $ ( window ) . scrollLeft ( ) ) + "px" ;
518516 } else {
519517 elmtTop = Math . floor ( elmtPosition . top ) + "px" ;
520518 elmtLeft = Math . floor ( elmtPosition . left ) + "px" ;
@@ -593,9 +591,9 @@ var jsPanel;
593591
594592 // maintains panel position relative to window on scroll of page
595593 fixPosition : function ( panel ) {
596- var jspaneldiff = panel . offset ( ) . top - window . scrollY ;
594+ var jspaneldiff = panel . offset ( ) . top - $ ( window ) . scrollTop ( ) ;
597595 panel . jsPanelfixPos = function ( ) {
598- panel . css ( 'top' , window . scrollY + jspaneldiff + 'px' ) ;
596+ panel . css ( 'top' , $ ( window ) . scrollTop ( ) + jspaneldiff + 'px' ) ;
599597 } ;
600598 $ ( window ) . on ( 'scroll' , panel . jsPanelfixPos ) ;
601599 } ,
@@ -611,9 +609,9 @@ var jsPanel;
611609 if ( ! selector || selector === "body" ) {
612610 // panel margins relative to browser viewport
613611 off = panel . offset ( ) ;
614- mR = winWidth - off . left - panelWidth + window . scrollX ;
612+ mR = winWidth - off . left - panelWidth + $ ( window ) . scrollLeft ( ) ;
615613 mL = winWidth - panelWidth - mR ;
616- mB = winHeight - off . top - panelHeight + window . scrollY ;
614+ mB = winHeight - off . top - panelHeight + $ ( window ) . scrollTop ( ) ;
617615 mT = winHeight - panelHeight - mB ;
618616 } else {
619617 // panel margins relative to element matching selector "selector"
@@ -889,7 +887,7 @@ var jsPanel;
889887 }
890888 // correction for panels maximized in body after page was scrolled
891889 if ( panel . parentElmtTagname === 'body' ) {
892- panelTop = window . scrollY + panel . verticalOffset + 'px' ;
890+ panelTop = $ ( window ) . scrollTop ( ) + panel . verticalOffset + 'px' ;
893891 } else {
894892 panelTop = panel . option . position . top ;
895893 }
@@ -938,7 +936,7 @@ var jsPanel;
938936 reposHints : function ( hintGroup , jsPtagname ) {
939937 var hintH ;
940938 if ( jsPtagname === 'body' ) {
941- hintH = window . scrollY ;
939+ hintH = $ ( window ) . scrollTop ( ) ;
942940 } else {
943941 hintH = 0 ;
944942 }
@@ -952,10 +950,10 @@ var jsPanel;
952950
953951 // reposition hints on window scroll
954952 reposHintsScroll : function ( panel ) {
955- var dif = panel . offset ( ) . top - window . scrollY ;
953+ var dif = panel . offset ( ) . top - $ ( window ) . scrollTop ( ) ;
956954 // with window.onscroll only the last added hint would stay in position
957955 $ ( window ) . scroll ( function ( ) {
958- panel . css ( 'top' , window . scrollY + dif + 'px' ) ;
956+ panel . css ( 'top' , $ ( window ) . scrollTop ( ) + dif + 'px' ) ;
959957 } ) ;
960958 } ,
961959
@@ -1599,6 +1597,9 @@ var jsPanel;
15991597 // converts option.position string to object
16001598 jsP . option . position = jsPanel . rewriteOPosition ( jsP . option . position ) ;
16011599
1600+ //console.log(jsP.option.position);
1601+
1602+
16021603 // converts option.size string to object
16031604 jsP . option . size = jsPanel . rewriteOSize ( jsP . option . size ) ;
16041605
0 commit comments