• js loads mv_dynamic_to_top variable inserted by wp_localize_script, this is a good trick for passing arguments, but this will break things if js are minified and loaded on early stage.

    It’s better to have jQuery.fn.DynamicToTop to load on DOM ready, and here is the patch to both dynamic.to.top.dev.js and min:

    The patch looks huge but I actually changed 2 lines.

    Index: js/dynamic.to.top.dev.js
    ===================================================================
    --- js/dynamic.to.top.dev.js    (revision 648192)
    +++ js/dynamic.to.top.dev.js    (working copy)
    @@ -6,8 +6,7 @@
      * @sksmatt
      *
      */
    -var mv_dynamic_to_top;
    -(function ($, mv_dynamic_to_top) {
    +jQuery().ready(function($) {
         jQuery.fn.DynamicToTop = function (options) {
             var defaults = {
                 text: mv_dynamic_to_top.text,
    @@ -49,4 +48,4 @@
             });
         };
         $('body').DynamicToTop();
    -})(jQuery, mv_dynamic_to_top);
    \ No newline at end of file
    +});
    Index: js/dynamic.to.top.min.js
    ===================================================================
    --- js/dynamic.to.top.min.js    (revision 648192)
    +++ js/dynamic.to.top.min.js    (working copy)
    @@ -6,7 +6,7 @@
      * @sksmatt
      *
      */
    -var mv_dynamic_to_top;(function($,mv_dynamic_to_top){jQuery.fn.DynamicToTop=function(options){var defaults={text:mv_dynamic_to_top.text,min:parseInt(mv_dynamic_to_top.min,10),fade_in:600,fade_out:400,speed:parseInt(mv_dynamic_to_top.speed,10),easing:mv_dynamic_to_top.easing,version:mv_dynamic_to_top.version,id:'dynamic-to-top'},settings=$.extend(defaults,options);if(settings.version===""||settings.version==='0'){settings.text='<span> </span>';}
    +jQuery().ready(function($){jQuery.fn.DynamicToTop=function(options){var defaults={text:mv_dynamic_to_top.text,min:parseInt(mv_dynamic_to_top.min,10),fade_in:600,fade_out:400,speed:parseInt(mv_dynamic_to_top.speed,10),easing:mv_dynamic_to_top.easing,version:mv_dynamic_to_top.version,id:'dynamic-to-top'},settings=$.extend(defaults,options);if(settings.version===""||settings.version==='0'){settings.text='<span> </span>';}
     if(!$.isFunction(settings.easing)){settings.easing='linear';}
     var $toTop=$('<a href=\"#\" id=\"'+settings.id+'\"></a>').html(settings.text);$toTop.hide().appendTo('body').click(function(){$('html, body').stop().animate({scrollTop:0},settings.speed,settings.easing);return false;});$(window).scroll(function(){var sd=jQuery(window).scrollTop();if(typeof document.body.style.maxHeight==="undefined"){$toTop.css({'position':'absolute','top':sd+$(window).height()-mv_dynamic_to_top.margin});}
    -if(sd>settings.min){$toTop.fadeIn(settings.fade_in);}else{$toTop.fadeOut(settings.fade_out);}});};$('body').DynamicToTop();})(jQuery,mv_dynamic_to_top);
    \ No newline at end of file
    +if(sd>settings.min){$toTop.fadeIn(settings.fade_in);}else{$toTop.fadeOut(settings.fade_out);}});};$('body').DynamicToTop();});

    http://ww.wp.xz.cn/extend/plugins/dynamic-to-top/

The topic ‘[patch] patch to work with minified javascript’ is closed to new replies.