0

我正在尝试将一个名为 miniColors ( http://bit.ly/Mq88mU ) 的 jQuery 插件绑定到我拥有的单击功能,以将幻灯片添加到幻灯片管理器。我似乎无法弄清楚如何正确绑定它。有任何想法吗?

这是我的添加幻灯片功能

el.on('click', '.addSlide', function (e) {
    e.preventDefault();
    var templ = $('#slideTemplate').html();
    var id = parseInt( $('ul.ui-sortable li').last().find('.order').val() ) || 0;
    var slide = templ.replace(/%id%/g, id).replace(/%id1%/g, id + 1);
    $(templ).find('.minicolors').minicolors();
    $(slide).hide().insertAfter($('ul.ui-sortable li').last()).fadeIn(300);
});
4

3 回答 3

1

看起来您正在尝试初始化 DOM 上不存在的插件。

var templ = $('#slideTemplate').html();
var id = parseInt( $('ul.ui-sortable li').last().find('.order').val() ) || 0;
var slide = templ.replace(/%id%/g, id).replace(/%id1%/g, id + 1);

$('PARENT').append($(templ));
$(templ).find('.minicolors').minicolors();

或者,如果您想直接从 DOM 工作:

var templ = $('#slideTemplate');
var id = parseInt( $('ul.ui-sortable li').last().find('.order').val() ) || 0;
var slide = templ.html().replace(/%id%/g, id).replace(/%id1%/g, id + 1);
templ.find('.minicolors').minicolors();
于 2013-03-15T20:39:51.250 回答
0

您是否尝试绑定它以使其出现在点击中?我想你只需要做类似的事情......

$('.minicolors').minicolors();

您可以使用 jQuery 选择器来选择类“minicolors”的 div。

我不确定你使用 find() 做什么,但我很确定你不想使用 slideTemplate div 中的任何 HTML 作为它前面的选择器。

于 2013-03-15T19:49:13.880 回答
0

不确定这是否是完成它的正确方法,但通过使用 fadeIn 函数,我已经能够完成我想要的。

$(slide).hide().insertAfter($('ul.ui-sortable li').last()).fadeIn(function(){
    $(this).find('.minicolors').minicolors();
});
于 2013-03-15T22:04:13.080 回答