Проблема в том, что у вас есть только один экземпляр вашего плагина. Это означает, что два вызова $.jStackOverflow.flair()
мешают друг другу, так как оба манипулируют внутренними данными одного объекта.
Проверьте, что происходит, если между двумя вызовами есть некоторая задержка (нажмите две кнопки внизу)
http://jsbin.com/esovu (для редактирования http://jsbin.com/esovu/edit
Вдруг начинает работать. Поэтому вам нужно изучить, как написать плагин, который поддерживает несколько экземпляров на одной странице.
Вы можете выбрать любой «хороший» плагин jQuery, который поддерживается несколькими экземплярами, чтобы проверить, как это сделать.
например. jQuery Carousel .
Проверьте, как линии взаимодействуют, чтобы позволить создавать несколько экземпляров карусели на одной странице (код взят из источника jQuery Carousel)
$.fn.jcarousel = function(o) { //this would match your `jStackOverflow`
return this.each(function() { //for each matched element return a new carousel
new $jc(this, o);
});
};
...
var defaults = {
...
};
...
$.jcarousel = function(e, o) { //the acutal constructor
...
}
...
$jc.fn.extend({
...
});