Skip to content

Commit e2c9f52

Browse files
committed
Allow custom delimiter for background images
1 parent b36e456 commit e2c9f52

File tree

5 files changed

+37
-11
lines changed

5 files changed

+37
-11
lines changed

README.md

+11
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,17 @@ for use with responsive background images (image-set)
180180
</div>
181181
```
182182

183+
To change the delimiter that splits background images:
184+
```html
185+
<!-- custom delimiter for background images example -->
186+
<div
187+
class="lozad"
188+
data-background-image="/first/custom,image,path/image.png-/second/custom,image,path/image.png"
189+
data-background-delimiter="-"
190+
>
191+
</div>
192+
```
193+
183194
If you want to load the images before they appear:
184195

185196
```js

dist/lozad.es.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! lozad.js - v1.14.0 - 2020-01-25
1+
/*! lozad.js - v1.14.0 - 2020-05-22
22
* https://github.com/ApoorvSaxena/lozad.js
33
* Copyright (c) 2020 Apoorv Saxena; Licensed MIT */
44

@@ -54,10 +54,15 @@ const defaultConfig = {
5454
element.setAttribute('srcset', element.getAttribute('data-srcset'));
5555
}
5656

57+
let backgroundImageDelimiter = ',';
58+
if (element.getAttribute('data-background-delimiter')) {
59+
backgroundImageDelimiter = element.getAttribute('data-background-delimiter');
60+
}
61+
5762
if (element.getAttribute('data-background-image')) {
58-
element.style.backgroundImage = `url('${element.getAttribute('data-background-image').split(',').join('\'),url(\'')}')`;
63+
element.style.backgroundImage = `url('${element.getAttribute('data-background-image').split(backgroundImageDelimiter).join('\'),url(\'')}')`;
5964
} else if (element.getAttribute('data-background-image-set')) {
60-
const imageSetLinks = element.getAttribute('data-background-image-set').split(',');
65+
const imageSetLinks = element.getAttribute('data-background-image-set').split(backgroundImageDelimiter);
6166
let firstUrlLink = (imageSetLinks[0].substr(0, imageSetLinks[0].indexOf(' ')) || imageSetLinks[0]); // Substring before ... 1x
6267
firstUrlLink = firstUrlLink.indexOf('url(') === -1 ? `url(${firstUrlLink})` : firstUrlLink;
6368
if (imageSetLinks.length === 1) {

dist/lozad.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*! lozad.js - v1.14.0 - 2020-01-25
1+
/*! lozad.js - v1.14.0 - 2020-05-22
22
* https://github.com/ApoorvSaxena/lozad.js
33
* Copyright (c) 2020 Apoorv Saxena; Licensed MIT */
44

@@ -60,10 +60,15 @@
6060
element.setAttribute('srcset', element.getAttribute('data-srcset'));
6161
}
6262

63+
var backgroundImageDelimiter = ',';
64+
if (element.getAttribute('data-background-delimiter')) {
65+
backgroundImageDelimiter = element.getAttribute('data-background-delimiter');
66+
}
67+
6368
if (element.getAttribute('data-background-image')) {
64-
element.style.backgroundImage = 'url(\'' + element.getAttribute('data-background-image').split(',').join('\'),url(\'') + '\')';
69+
element.style.backgroundImage = 'url(\'' + element.getAttribute('data-background-image').split(backgroundImageDelimiter).join('\'),url(\'') + '\')';
6570
} else if (element.getAttribute('data-background-image-set')) {
66-
var imageSetLinks = element.getAttribute('data-background-image-set').split(',');
71+
var imageSetLinks = element.getAttribute('data-background-image-set').split(backgroundImageDelimiter);
6772
var firstUrlLink = imageSetLinks[0].substr(0, imageSetLinks[0].indexOf(' ')) || imageSetLinks[0]; // Substring before ... 1x
6873
firstUrlLink = firstUrlLink.indexOf('url(') === -1 ? 'url(' + firstUrlLink + ')' : firstUrlLink;
6974
if (imageSetLinks.length === 1) {

dist/lozad.min.js

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lozad.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,15 @@ const defaultConfig = {
4949
element.setAttribute('srcset', element.getAttribute('data-srcset'))
5050
}
5151

52+
let backgroundImageDelimiter = ','
53+
if (element.getAttribute('data-background-delimiter')) {
54+
backgroundImageDelimiter = element.getAttribute('data-background-delimiter')
55+
}
56+
5257
if (element.getAttribute('data-background-image')) {
53-
element.style.backgroundImage = `url('${element.getAttribute('data-background-image').split(',').join('\'),url(\'')}')`
58+
element.style.backgroundImage = `url('${element.getAttribute('data-background-image').split(backgroundImageDelimiter).join('\'),url(\'')}')`
5459
} else if (element.getAttribute('data-background-image-set')) {
55-
const imageSetLinks = element.getAttribute('data-background-image-set').split(',')
60+
const imageSetLinks = element.getAttribute('data-background-image-set').split(backgroundImageDelimiter)
5661
let firstUrlLink = (imageSetLinks[0].substr(0, imageSetLinks[0].indexOf(' ')) || imageSetLinks[0]) // Substring before ... 1x
5762
firstUrlLink = firstUrlLink.indexOf('url(') === -1 ? `url(${firstUrlLink})` : firstUrlLink
5863
if (imageSetLinks.length === 1) {

0 commit comments

Comments
 (0)