Comments (4)
Thank you for reporting this bug!
I think this issue appears because we rely on window.innerWidth
and window.innerHeight
when retrieving the viewport size. We should rather rely on document.documentElement.clientWidth
and document.documentElement.clientHeight
, which ignore the scroll bar (see corresponding lines).
Do you want to contribute and fix this issue?
Let me know if you need help with anything (you can start by reading the contributing guide).
from medium-zoom.
I fixed it like this (with jQuery):
// 1.
var getScrollbarWidth = function() {
var container = $('<div style="width:50px;height:50px;overflow:auto"><div></div></div>').appendTo('body');
var child = container.children();
// Check for Zepto
if (typeof child.innerWidth != 'function') {
return 0;
}
var width = child.innerWidth() - child.height(90).innerWidth();
container.remove();
return width;
};
// 2.
function zoomImage(barSize){
var zoom = mediumZoom('[data-action="zoom"]', {
container: {
right: barSize
}
});
}
// 3.
$(window).load(function() {
var scrollbarSize = getScrollbarWidth();
zoomImage(scrollbarSize);
});
I don't know, correct it is or not, but it works.
from medium-zoom.
Thank you for reporting this bug!
I think this issue appears because we rely on
window.innerWidth
andwindow.innerHeight
when retrieving the viewport size. We should rather rely ondocument.documentElement.clientWidth
anddocument.documentElement.clientHeight
, which ignore the scroll bar (see corresponding lines).Do you want to contribute and fix this issue?
Let me know if you need help with anything (you can start by reading the contributing guide).
@francoischalifour Thanks for the suggested fix. I've made on a fork and it seems to work. However I think the requirements for the contribution guidelines are beyond my abilities. Happy to PR for the two lines of changes, but won't be able to add tests.
from medium-zoom.
Feel free to send the PR, I'll take care of the rest!
from medium-zoom.
Related Issues (20)
- Not work on <img> element in markdown. HOT 4
- Vitepress support HOT 2
- data-zoom-src not working with loading attribute HOT 5
- Pinching zoom option
- Nuxt with medium-zoom, weridly on the directly load in.
- SVG images sometimes don't have a '.svg' extension
- Gallery on full viewport mode (feature request) HOT 2
- Customize overlay HOT 1
- Working Nuxt3 example - add to README.md or separate page? HOT 1
- Cannot close overlay before `opened` event has fired. HOT 3
- Manipulation image size HOT 4
- Zoomed image size exceed intrinsic image size HOT 3
- use picture bed can't show image in website HOT 1
- The image is not centered and scale in iframe
- Not working after the page transition in Astro HOT 5
- There may be problems in some magnification situations. HOT 7
- If the image uses the srcset attribute, the pop-up layer will be displayed misaligned. HOT 1
- Tab doesn't close image if focused element is already visible on the screen
- Use the dialog element to display images HOT 2
- mediumZoom and Wordpress/Divi builder issue HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from medium-zoom.