Javascript 将SuperBox JQuery转换为AngularJs指令

Javascript 将SuperBox JQuery转换为AngularJs指令,javascript,jquery,angularjs,angularjs-directive,Javascript,Jquery,Angularjs,Angularjs Directive,我在网站上找到了Todd的这一惊人的JQuery插件。 我想将这个插件转换为AngularJS指令,并使用html元素,而不是附加新元素。 原始代码已发布。 我做了指令,但它使用append而不是html元素, 谢谢你的帮助 ;(function($) { $.fn.SuperBox = function(options) { var superbox = $('<div class="superbox-show"></div>'); v

我在网站上找到了Todd的这一惊人的JQuery插件。 我想将这个插件转换为AngularJS指令,并使用html元素,而不是附加新元素。 原始代码已发布。 我做了指令,但它使用append而不是html元素, 谢谢你的帮助

;(function($) {

  $.fn.SuperBox = function(options) {

    var superbox      = $('<div class="superbox-show"></div>');
    var superboximg   = $('<img src="" class="superbox-current-img">');
    var superboxclose = $('<div class="superbox-close"></div>');

    superbox.append(superboximg).append(superboxclose);

    return this.each(function() {

      $('.superbox-list').click(function() {

        var currentimg = $(this).find('.superbox-img');
        var imgData = currentimg.data('img');
        superboximg.attr('src', imgData);

        if($('.superbox-current-img').css('opacity') == 0) {
          $('.superbox-current-img').animate({opacity: 1});
        }

        if ($(this).next().hasClass('superbox-show')) {
          superbox.toggle();
        } else {
          superbox.insertAfter(this).css('display', 'block');
        }

        $('html, body').animate({
          scrollTop:superbox.position().top - currentimg.width()
        }, 'medium');

      });

      $('.superbox').on('click', '.superbox-close', function() {
        $('.superbox-current-img').animate({opacity: 0}, 200, function() {
          $('.superbox-show').slideUp();
        });
      });

    });
  };
})(jQuery);
;(函数($){
$.fn.SuperBox=函数(选项){
var superbox=$('');
var superboximg=$('');
var superboxclose=$('');
superbox.append(superboximg).append(superboxclose);
返回此值。每个(函数(){
$('.superbox列表')。单击(函数(){
var currentimg=$(this.find('.superbox img');
var imgData=当前img.data('img');
superboximg.attr('src',imgData);
if($('.superbox当前img').css('opacity')==0){
$('.superbox current img')。设置动画({opacity:1});
}
if($(this).next().hasClass('superbox-show')){
superbox.toggle();
}否则{
superbox.insertAfter(this.css('display','block');
}
$('html,body')。设置动画({
scrollTop:superbox.position().top-currentimg.width()
}"中等";;
});
$('.superbox')。在('单击','.superbox关闭',函数()上){
$('.superbox current img')。设置动画({opacity:0},200,function(){
$('.superbox show').slideUp();
});
});
});
};
})(jQuery);

我也在寻找AngularJS版本的Superbox。我也找不到,所以我才开始。它可能会给你一些想法,或者你可能想有所贡献

问候,, 安迪