вопрос
Собственно в чем суть вопроса, пишу плагин но в кое чем не могу разобраться, так как знания jQuery еще не позволяют все делать без вопросов.
Суть плагина в переносе блоков в другие места при определенном разрешении экрана:
Функция переноса блоков:
Также есть функция отложенного действия ( с ней проблем нет):
Далее у мне нужно перевыполнить функцию при resize окна:
Можно сделать так:
Суть проблемы заключается в том, что я не знаю, какое блоки создаст пользователь, и не знаю классы, которые он создаст, поэтомоу не необходимо обратиться ко всем созданным, как-то их хранить или перезапустить функцию реиницилизировать, и перевыполнить их заново. Но как это сделать, я не знаю. Помогите пожалуйста.
Суть плагина в переносе блоков в другие места при определенном разрешении экрана:
Функция переноса блоков:
function adaptiveblockport() {
(function($) {
$.fn.blockport = function(options) {
var options = $.extend({
resolution: '',
main: '',
mobile: ''
}, options);
return this.each(function() {
if($(window).width() > options.resolution) {
$(this).appendTo(options.main);
} else {
$(this).appendTo(options.mobile);
}
});
};
})($);
}
adaptiveblockport();
// Пример, как она работает:
$(document).ready(function() {
$(".copyblock").blockport({ // что переносим
resolution: '1000', // при каком разрешении
main: ".to", // куда переносим если больше указанного разрешения
mobile: ".mobile" // куда переносим если меньше указанного разрешения
});
});
Также есть функция отложенного действия ( с ней проблем нет):
var waitfunction = (function () {
var time = {};
return function (callback, ms, timeid) {
if (!timeid) {
timeid = "Don't call this twice without a uniqueId";
}
if (time[timeid]) {
clearTimeout (time[timeid]);
}
time[timeid] = setTimeout(callback, ms);
};
})();
Далее у мне нужно перевыполнить функцию при resize окна:
window.onresize = function(event) {
waitfunction(function(){
adaptiveblockport();
}, 300, "Callback after");
};
Можно сделать так:
waitfunction(function(){
$(".copyblock").blockport({ // что переносим
resolution: '1000', // при каком разрешении
main: ".to", // куда переносим если больше указанного разрешения
mobile: ".mobile" // куда переносим если меньше указанного разрешения
});
}, 300, "Callback after");
Суть проблемы заключается в том, что я не знаю, какое блоки создаст пользователь, и не знаю классы, которые он создаст, поэтомоу не необходимо обратиться ко всем созданным, как-то их хранить или перезапустить функцию реиницилизировать, и перевыполнить их заново. Но как это сделать, я не знаю. Помогите пожалуйста.