extend | var responsiveImage = (function (settings) {
'use strict';
var active,
DEFAULTS = {
timeout: 250,
low: 480,
medium: 768,
high: 1024
};
settings = $.extend({}, DEFAULTS, settings || {});
var responsiveImage = function () {
var ww = $(window).width();
if(ww < settings.medium) {
active = 'low';
}
else if(ww > settings.medium && ww < settings.high) {
active = 'medium';
}
else if(ww > settings.high) {
active = 'high';
}
if(active !== settings.active) {
settings.active = active;
var delimiter = '}';
var responsiveContainer = $('[data-images]');
for (var i = responsiveContainer.length - 1; i >= 0; i--) {
var container = $(responsiveContainer[i]);
var data = container.attr('data-images');
var obj = data.split(delimiter);
for (var ii = obj.length - 1; ii >= 0; ii--) {
if(obj[ii].length > 0) {
var jsonString = obj[ii].replace(/'/g, '"') + delimiter;
var jsonObject = $.parseJSON(jsonString);
container.find(jsonObject.target).css('background-image', 'url(' + jsonObject[settings.active] + ')');
}
}
}
}
};
return function() {
var context = this;
var args = arguments;
clearTimeout(settings.timeout);
settings.timeout = setTimeout(function(){
responsiveImage.apply(context, args);
}, settings.timeout);
};
}());
| ready |
no exctend | var responsiveImage = (function (settings) {
'use strict';
var active,
DEFAULTS = {
timeout: 250,
low: 480,
medium: 768,
high: 1024
};
settings = DEFAULTS;
var responsiveImage = function () {
var ww = $(window).width();
if(ww < settings.medium) {
active = 'low';
}
else if(ww > settings.medium && ww < settings.high) {
active = 'medium';
}
else if(ww > settings.high) {
active = 'high';
}
if(active !== settings.active) {
settings.active = active;
var delimiter = '}';
var responsiveContainer = $('[data-images]');
for (var i = responsiveContainer.length - 1; i >= 0; i--) {
var container = $(responsiveContainer[i]);
var data = container.attr('data-images');
var obj = data.split(delimiter);
for (var ii = obj.length - 1; ii >= 0; ii--) {
if(obj[ii].length > 0) {
var jsonString = obj[ii].replace(/'/g, '"') + delimiter;
var jsonObject = $.parseJSON(jsonString);
container.find(jsonObject.target).css('background-image', 'url(' + jsonObject[settings.active] + ')');
}
}
}
}
};
return function() {
var context = this;
var args = arguments;
clearTimeout(settings.timeout);
settings.timeout = setTimeout(function(){
responsiveImage.apply(context, args);
}, settings.timeout);
};
}());
| ready |