Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
jquery.magnify
Advanced tools
⚠️ Attention! This repository will be maintained just in small iteration. The plugin is easy to use, but its customization can be troublesome. To improve plugin's flexibility, I made another repository PhotoViewer which is the enhanced version of Magnify.
Magnify is a jQuery plugin to view images just like in windows.
You can install the plugin via npm
$ npm install jquery.magnify --save
or via bower
$ bower install jquery.magnify --save
The usage of magnify is very simple.
<link href="/path/to/magnify.css" rel="stylesheet" />
<script src="/path/to/jquery.js"></script>
<script src="/path/to/jquery.magnify.js"></script>
The icons in magnify use svg default, you can customize them in options.
The default structure as below:
<a data-magnify="gallery" href="big-1.jpg">
<img src="small-1.jpg" />
</a>
<a data-magnify="gallery" href="big-2.jpg">
<img src="small-2jpg" />
</a>
<a data-magnify="gallery" href="big-3.jpg">
<img src="small-3.jpg" />
</a>
or
<img data-magnify="gallery" data-src="big-1.jpg" src="small-1.jpg" />
<img data-magnify="gallery" data-src="big-2.jpg" src="small-2.jpg" />
<img data-magnify="gallery" data-src="big-3.jpg" src="small-3.jpg" />
All structures above have optional attributes as below:
data-src
attribute to link big image if you do not want to use a <a>
tag. If you use it in a <a>
tag, it will override the image link in href
attribute.data-caption
attribute if you want to show a caption. If you are not using this attribute, it will show the image name in the url when you set the title
option true
.data-group
attribute if you want to set the images in groups.If you add a data-magnify
attribute, you can write none of js.
Of course, you can use selector to call the plugin as following code:
$("[data-magnify=gallery]").magnify();
draggable true
If ture, it allow modal dragging.
resizable true
If ture, it allow modal resizing.
movable true
If ture, it allow image moving.
keyboard true
If ture, it allow keyboard control. It is similar to Windows photo viewer.
title true
If ture, it will show image title on header.
fixedModalSize false
If false, the modal init size will fit to image size.
If true, the modal init size will be set with
modalWidth
andmodalHeight
.
modalWidth 320
The modal min width.
modalHeight 320
The modal min height.
gapThreshold 0.02
There will have a gap if modal too big to beyond the browser.
ratioThreshold 0.01
Image zoom ratio threshold.
minRatio 0.05
(5%)
The min ratio to show image.
maxRatio 16
(1600%)
The max ratio to show image.
icons
You can customize the icons in following key.
minimize svg
maximize svg
close svg
zoomIn svg
zoomOut svg
prev svg
next svg
fullscreen svg
actualSize svg
rotateLeft svg
rotateRight svg
headerToolbar ['maximize','close']
The buttons display in header toolbar.
footerToolbar ['zoomIn','zoomOut','prev','fullscreen','next','actualSize','rotateRight']
The buttons display in footer toolbar.
fixedContent true
If true, the content will be fixed.
i18n
You can customize the buttons title in following key.
minimize minimize
maximize maximize
close close
zoomIn zoom-in
zoomOut zoom-out
prev prev
next next
fullscreen fullscreen
actualSize actual-size
rotateLeft rotate-left
rotateRight rotate-right
initMaximized false
If false, the modal size will be set of image size or what you set.
If true, the modal size will be set maximized when init.
multiInstances true
If true, it allow multiple instances.
initEvent click
The event to init plugin. Another value is
dblclick
.
initAnimation true
If false, it will not have animation at plugin's init.
fixedModalPos false
if true, the modal position will be fixed when change images.
zIndex 1090
The modal style of z-index, it is useful with multiple instances.
dragHandle
The handle of draggable.
progressiveLoading true
If true, the image will be rendered progressively.
customButtons {}
$("[data-magnify=gallery]").magnify({
footerToolbar: [..."myCustomButton"],
customButtons: {
myCustomButton: {
text: "custom!",
title: "custom!",
click: function (context, e) {
alert("clicked the custom button!");
},
},
},
});
Each customButton
entry accepts the following properties:
text
- the text to be display on the button itself.
title
- the title to be display when hover the button.
click
- a callback function that is called when the button is clicked.
You can define callbacks in callbacks
option. In each callback you can get the Magnify
instance with this
or context
.
$("[data-magnify=gallery]").magnify({
callbacks: {
beforeOpen: function (context) {
// Will fire before modal is opened
},
opened: function (context) {
// Will fire after modal is opened
},
beforeClose: function (context) {
// Will fire before modal is closed
},
closed: function (context) {
// Will fire after modal is closed
},
beforeChange: function (context, index) {
// Will fire before image is changed
// The argument index is the current image index of image group
},
changed: function (context, index) {
// Will fire after image is changed
// The argument index is the next image index of image group
},
},
});
This project exists thanks to all the people who contribute. [Contribute].
Become a financial contributor and help us sustain our community. [Contribute]
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
MIT License
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
FAQs
A jQuery plugin to view images just like in Windows
The npm package jquery.magnify receives a total of 93 weekly downloads. As such, jquery.magnify popularity was classified as not popular.
We found that jquery.magnify demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.