Index: trunk/extensions/SemanticForms/skins/SF_popupform.css |
— | — | @@ -51,6 +51,7 @@ |
52 | 52 | border: none; |
53 | 53 | background: transparent; |
54 | 54 | position: relative; |
| 55 | + overflow: hidden; |
55 | 56 | } |
56 | 57 | |
57 | 58 | div.popupform-close { |
Index: trunk/extensions/SemanticForms/libs/SF_popupform.js |
— | — | @@ -135,7 +135,7 @@ |
136 | 136 | ( navigator.userAgent.indexOf("Chrome") >= 0 && |
137 | 137 | navigator.platform.indexOf("Linux x86_64") >= 0 ); |
138 | 138 | |
139 | | - brokenBrowser= jQuery.browser.msie ||brokenChrome; |
| 139 | + brokenBrowser= jQuery.browser.msie || brokenChrome; |
140 | 140 | |
141 | 141 | var maxZIndex = 0; |
142 | 142 | |
— | — | @@ -600,9 +600,11 @@ |
601 | 601 | } |
602 | 602 | |
603 | 603 | if ( frameW != oldFrameW || frameH != oldFrameH ) { |
| 604 | + |
| 605 | + iframe[0].style.overflow="hidden"; |
| 606 | + html[0].style.overflow="hidden"; |
| 607 | + |
604 | 608 | if ( animate ) { |
605 | | - iframe[0].style.overflow="hidden"; |
606 | | - html[0].style.overflow="hidden"; |
607 | 609 | |
608 | 610 | content |
609 | 611 | .width ( 'auto' ) |
— | — | @@ -611,14 +613,20 @@ |
612 | 614 | container.animate({ |
613 | 615 | width: frameW, |
614 | 616 | height: frameH, |
615 | | - top: ( - frameH ) / 2, |
616 | | - left: ( - frameW ) / 2 |
| 617 | + top: Math.floor(( - frameH ) / 2), |
| 618 | + left: Math.floor(( - frameW ) / 2) |
617 | 619 | }, { |
618 | 620 | duration: 500, |
619 | 621 | complete: function() { |
620 | | - iframe[0].style.overflow="auto"; |
621 | | - html[0].style.overflow="auto"; |
622 | 622 | |
| 623 | + if ( jQuery.browser.msie ) { |
| 624 | + iframe[0].style.overflow="auto"; |
| 625 | + html[0].style.overflow="auto"; |
| 626 | + } else { |
| 627 | + iframe[0].style.overflow="visible"; |
| 628 | + html[0].style.overflow="visible"; |
| 629 | + } |
| 630 | + |
623 | 631 | if ( jQuery.browser.mozilla ) { |
624 | 632 | content |
625 | 633 | .width ( contW ) |
— | — | @@ -638,13 +646,29 @@ |
639 | 647 | .height ( frameH ); |
640 | 648 | |
641 | 649 | with ( container[0].style ) { |
642 | | - top = (( - frameH ) / 2) + "px"; |
643 | | - left = (( - frameW ) / 2) + "px"; |
| 650 | + top = (Math.floor(( - frameH ) / 2)) + "px"; |
| 651 | + left = (Math.floor(( - frameW ) / 2)) + "px"; |
| 652 | + } |
| 653 | + |
| 654 | + setTimeout(function(){ |
| 655 | + if ( jQuery.browser.msie ) { |
| 656 | + iframe[0].style.overflow="auto"; |
| 657 | + html[0].style.overflow="auto"; |
| 658 | + } else { |
| 659 | + iframe[0].style.overflow="visible"; |
| 660 | + html[0].style.overflow="visible"; |
644 | 661 | } |
| 662 | + }, 100); |
645 | 663 | |
646 | | - content |
647 | | - .width ( 'auto' ) |
648 | | - .height ( 'auto' ); |
| 664 | + if ( jQuery.browser.mozilla ) { |
| 665 | + content |
| 666 | + .width ( contW ) |
| 667 | + .height ( contH ); |
| 668 | + } else { |
| 669 | + content |
| 670 | + .width ( 'auto' ) |
| 671 | + .height ( 'auto' ); |
| 672 | + } |
649 | 673 | |
650 | 674 | } |
651 | 675 | } else { |
— | — | @@ -652,6 +676,15 @@ |
653 | 677 | .width ( 'auto' ) |
654 | 678 | .height ( 'auto' ); |
655 | 679 | |
| 680 | + if ( jQuery.browser.safari ) { // Google chrome needs a kick |
| 681 | + |
| 682 | + // turn scrollbars off and on again to really only show them when needed |
| 683 | + html[0].style.overflow="hidden"; |
| 684 | + |
| 685 | + setTimeout(function(){ |
| 686 | + html[0].style.overflow="visible"; |
| 687 | + }, 1); |
| 688 | + } |
656 | 689 | } |
657 | 690 | |
658 | 691 | scrollTgt |