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()を何に使用しているのかはわかりませんが、slideTemplatedivにある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 に答える