jquery - 您将如何更改此类代码?

标签 jquery

我有以下代码,但我对 jQuery 还很陌生,而且我很确定这是一些困惑的代码,可以使其更短,或者可以使用更少的变量来创建更好的动态插件。我正在尝试尝试不同类型的逻辑。这是代码。

$.pluginName = (function () {
    $(function () {
        var message = "Hello World!";
        var animSpeed = 300;
        var animType = 'fadeIn';
        var icon = "pin";
        var btnText = "Purchase";
        var btnColor = "pink";
        var btnLink = 'http://www.google.com';
        var content = '<div id="mn_close" class="light"></div>' + '<div id="mn_border"></div>' + '<i class="icon-' + icon + '"></i>' + '<span class="mn_message">' + message + '</span>' + '<a href="' + btnLink + '" class="button ' + btnColor + '">' + btnText + '</a>';
        $("#mn_close").live("click", function () {
            $('.mn_bar').animate({
                top: '-50'
            }, animSpeed, function () {});
        });
        $(".mn_bar").append(content);
        $(function () {
            $(".mn_bar").addClass("animated");
            $(".mn_bar").addClass(animType);
        })
    })
})(jQuery);

关于如何将这些变量传递给用户可以从 HTML 源动态更改的选项,有什么建议吗?我并不期待详细的答案,但我非常感谢您提供的任何帮助。

EDI:JS 摆弄 CSS 和 HTML。

http://jsfiddle.net/QjFnf/8/

提前致谢!

最佳答案

看看这是否有帮助:

(function( $ ){

  var _defaults = {
    message = 'Hello World!',
    animSpeed = 300,
    animType = 'fadeIn',
    icon = 'pin',
    btnText = 'Purchase',
    btnColor = 'pink',
    btnLink = 'http://www.google.com'
  };

  $.pluginName = function( opts ) {

    var o = $.extend( {}, _defaults, opts )
      , $bar = $('.mn_bar').addClass('animated '+ animType)
      , $close = $('<div id="mn_close" class="light"/>')
      , $icon = $('<i class="icon-"'+ o.icon +'></i>')
      , $message = $('<span class="mn_message">'+ o.message +'</span>')
      , $link = $('<a href="'+ o.btnLink +'" class="button "'+ o.btnColor +'>'+ o.btnText +'</a>');

    $close.click(function(){
      $bar.animate({ top: '-50px' }, animSpeed );
    });

    $bar.append( $bar, $close, $icon, $message, $link );

  };

})( jQuery );

关于jquery - 您将如何更改此类代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14048723/

相关文章:

javascript - 如何清除html中的pre标签

javascript - 消除 JS 搜索中的大小写敏感

javascript - img 阻止悬停功能触发

javascript - 复杂的 javascript 对象不会 JSON.stringify()

javascript - javascript 中带有表输出的嵌套 for 循环的问题

php - 如何让ajax延迟请求url

jquery - 帮我改变这个 JS/Jquery 函数来动态创建 Divs

javascript - 如何将相同的 jQuery 代码应用于同一类的两个实例?

javascript - 如何将removePostDataItem与新的jqgrid一起使用

jQuery 不能在 IE 中运行啊啊啊?