Skip to content
This repository was archived by the owner on Jan 29, 2026. It is now read-only.

Commit fb0c6da

Browse files
committed
version 2.5.2 release
fixes positioning issue with IE
1 parent 4a03881 commit fb0c6da

File tree

7 files changed

+110
-102
lines changed

7 files changed

+110
-102
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
---
44

5+
### Version 2.5.2
6+
7+
+ **fix** of positioning issue with IE
8+
9+
---
10+
511
### Version 2.5.1
612

713
+ correction of a minor css issue with footer toolbars

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## [jsPanel 2.5.1 released 2015-05-12](#)
1+
## [jsPanel 2.5.2 released 2015-05-13](#)
22

33
**A jQuery plugin to create multifunctional floating panels.**
44

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jspanel",
3-
"version": "v2.5.1",
3+
"version": "v2.5.2",
44
"description": "A jQuery Plugin to create highly configurable multifunctional floating panels for use in backend solutions and other web applications. Also usable as modal panel, tooltip or hint. With built in support for bootstrap, right-to-left text direction and more ...",
55
"keywords": [
66
"jQuery",

jsPanel.jquery.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"hint",
1616
"bootstrap"
1717
],
18-
"version": "2.5.1",
18+
"version": "2.5.2",
1919
"author": {
2020
"name": "Stefan Straesser",
2121
"url": "http://jspanel.de/",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "jspanel",
3-
"version": "2.5.1",
3+
"version": "2.5.2",
44
"description": "A jQuery Plugin to create highly configurable floating panels for use in a backend solution and other web applications",
55
"main": [
66
"source/jquery.jspanel.js",

source/jquery.jspanel.js

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@
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

Comments
 (0)