JAVASCRIPT 6
Script.js Guest on 18th October 2020 04:20:36 AM
  1.  
  2. $(document).ready(function(){
  3.     // tabs
  4.         $('ul.tabs').each(function(){
  5.                                
  6.                 var $active, $content, $links = $(this).find('a');
  7.        
  8.                 $active = $links.first().addClass('active');
  9.                 $content = $($active.attr('rel'));
  10.                                
  11.                 $links.not(':first').each(function () {
  12.                         $($(this).attr('rel')).hide();
  13.                 });
  14.        
  15.                 $(this).on('click', 'a', function(e){
  16.                                                
  17.                         $active.removeClass('active');
  18.                         $content.hide();
  19.                                                
  20.                         $active = $(this);
  21.                         $content = $($(this).attr('rel'));
  22.  
  23.                         $active.addClass('active');
  24.                         $content.show();
  25.                        
  26.                         e.preventDefault();
  27.                 });
  28.         });
  29.        
  30.     // track box clicks and route them to parent radio button
  31.         $('div.box-hover').click( function(e)
  32.     {
  33.                 $(this).find("input[type=radio]").click();
  34.         });
  35.     $('input[type=radio]').click(function(e){
  36.  
  37.         if (this.checked != true && $(this).hasClass('autosubmit')){
  38.             this.checked = true;
  39.             this.form.submit();
  40.         }
  41.         e.stopPropagation();
  42.     });
  43.  
  44.     // track box clicks to show/hide some desc (shipping/payment)
  45.     $('div.box-hover,div.box-hover input').bind("click change",function(e)
  46.     {
  47.         // ok. wir wollen clicks auf shipping abfangen
  48.         // und - laut tmpl - kann nur EIN passendes kind da sein
  49.         // also geht das mit dem length check!
  50.         if( $(this).children('p.shipping-name').length > 0)
  51.         {
  52.             $('div.box-hover').children('.shipping-desc').css('display','none');
  53.             $(this).children('.shipping-desc').css('display','block');
  54.         }
  55.         if( $(this).children('.payment-name').length > 0)
  56.         {
  57.            $('div.box-hover').children('.payment-desc').css('display','none');
  58.            $(this).children('.payment-desc').css('display','block');
  59.  
  60.         }
  61.                
  62.        
  63.     });
  64.    
  65.     // autosize the comment textarea
  66.     $('#comments').autosize();
  67.  
  68.     // slide in/out guest account form
  69.     $("#guest").click( function(e){
  70.         $("#cust_info_customers_password").val('');
  71.         $("#cust_info_customers_password_confirm").val('');
  72.                 $('#guest-account').slideUp(250);
  73.         });
  74.         $("#account").click( function(e){
  75.                 $('#guest-account').slideDown(250);
  76.         });
  77. });
  78.  
  79. // autosizejs - auto resize textarea to fit its content
  80.    (function ($) {
  81.         var defaults = {
  82.                 className: 'autosizejs',
  83.                 append: '',
  84.                 callback: false
  85.         },
  86.         hidden = 'hidden',
  87.         borderBox = 'border-box',
  88.         lineHeight = 'lineHeight',
  89.  
  90.         // border:0 is unnecessary, but avoids a bug in FireFox on OSX (http://www.jacklmoore.com/autosize#comment-851)
  91.         copy = '<textarea tabindex="-1" style="position:absolute; top:-999px; left:0; right:auto; bottom:auto; border:0; -moz-box-sizing:content-box; -webkit-box-sizing:content-box; box-sizing:content-box; word-wrap:break-word; height:0 !important; min-height:0 !important; overflow:hidden;"/>',
  92.  
  93.         // line-height is conditionally included because IE7/IE8/old Opera do not return the correct value.
  94.         copyStyle = [
  95.                 'fontFamily',
  96.                 'fontSize',
  97.                 'fontWeight',
  98.                 'fontStyle',
  99.                 'letterSpacing',
  100.                 'textTransform',
  101.                 'wordSpacing',
  102.                 'textIndent'
  103.         ],
  104.         oninput = 'oninput',
  105.         onpropertychange = 'onpropertychange',
  106.  
  107.         // to keep track which textarea is being mirrored when adjust() is called.
  108.         mirrored,
  109.  
  110.         // the mirror element, which is used to calculate what size the mirrored element should be.
  111.         mirror = $(copy).data('autosize', true)[0];
  112.  
  113.         // test that line-height can be accurately copied.
  114.         mirror.style.lineHeight = '99px';
  115.         if ($(mirror).css(lineHeight) === '99px') {
  116.                 copyStyle.push(lineHeight);
  117.         }
  118.         mirror.style.lineHeight = '';
  119.  
  120.         $.fn.autosize = function (options) {
  121.                 options = $.extend({}, defaults, options || {});
  122.  
  123.                 if (mirror.parentNode !== document.body) {
  124.                         $(document.body).append(mirror);
  125.                 }
  126.  
  127.                 return this.each(function () {
  128.                         var
  129.                         ta = this,
  130.                         $ta = $(ta),
  131.                         minHeight,
  132.                         active,
  133.                         resize,
  134.                         boxOffset = 0,
  135.                         callback = $.isFunction(options.callback);
  136.  
  137.                         if ($ta.data('autosize')) {
  138.                                 // exit if autosize has already been applied, or if the textarea is the mirror element.
  139.                                 return;
  140.                         }
  141.  
  142.                         if ($ta.css('box-sizing') === borderBox || $ta.css('-moz-box-sizing') === borderBox || $ta.css('-webkit-box-sizing') === borderBox){
  143.                                 boxOffset = $ta.outerHeight() - $ta.height();
  144.                         }
  145.  
  146.                         minHeight = Math.max(parseInt($ta.css('minHeight'), 10) - boxOffset, $ta.height());
  147.  
  148.                         resize = ($ta.css('resize') === 'none' || $ta.css('resize') === 'vertical') ? 'none' : 'horizontal';
  149.  
  150.                         $ta.css({
  151.                                 overflow: hidden,
  152.                                 overflowY: hidden,
  153.                                 wordWrap: 'break-word',
  154.                                 resize: resize
  155.                         }).data('autosize', true);
  156.  
  157.                         function initMirror() {
  158.                                 mirrored = ta;
  159.                                 mirror.className = options.className;
  160.  
  161.                                 // mirror is a duplicate textarea located off-screen that
  162.                                 // is automatically updated to contain the same text as the
  163.                                 // original textarea.  mirror always has a height of 0.
  164.                                 // This gives a cross-browser supported way getting the actual
  165.                                 // height of the text, through the scrollTop property.
  166.                                 $.each(copyStyle, function(i, val){
  167.                                         mirror.style[val] = $ta.css(val);
  168.                                 });
  169.                         }
  170.  
  171.                         // Using mainly bare JS in this function because it is going
  172.                         // to fire very often while typing, and needs to very efficient.
  173.                         function adjust() {
  174.                                 var height, overflow, original;
  175.  
  176.                                 if (mirrored !== ta) {
  177.                                         initMirror();
  178.                                 }
  179.  
  180.                                 // the active flag keeps IE from tripping all over itself.  Otherwise
  181.                                 // actions in the adjust function will cause IE to call adjust again.
  182.                                 if (!active) {
  183.                                         active = true;
  184.                                         mirror.value = ta.value + options.append;
  185.                                         mirror.style.overflowY = ta.style.overflowY;
  186.                                         original = parseInt(ta.style.height,10);
  187.  
  188.                                         // Update the width in case the original textarea width has changed
  189.                                         // A floor of 0 is needed because IE8 returns a negative value for hidden textareas, raising an error.
  190.                                         mirror.style.width = Math.max($ta.width(), 0) + 'px';
  191.  
  192.                                         // The following three lines can be replaced with `height = mirror.scrollHeight` when dropping IE7 support.
  193.                                         mirror.scrollTop = 0;
  194.                                         mirror.scrollTop = 9e4;
  195.                                         height = mirror.scrollTop;
  196.  
  197.                                         var maxHeight = parseInt($ta.css('maxHeight'), 10);
  198.                                         // Opera returns '-1px' when max-height is set to 'none'.
  199.                                         maxHeight = maxHeight && maxHeight > 0 ? maxHeight : 9e4;
  200.                                         if (height > maxHeight) {
  201.                                                 height = maxHeight;
  202.                                                 overflow = 'scroll';
  203.                                         } else if (height < minHeight) {
  204.                                                 height = minHeight;
  205.                                         }
  206.                                         height += boxOffset;
  207.                                         ta.style.overflowY = overflow || hidden;
  208.  
  209.                                         if (original !== height) {
  210.                                                 ta.style.height = height + 'px';
  211.                                                 if (callback) {
  212.                                                         options.callback.call(ta);
  213.                                                 }
  214.                                         }
  215.  
  216.                                         // This small timeout gives IE a chance to draw it's scrollbar
  217.                                         // before adjust can be run again (prevents an infinite loop).
  218.                                         setTimeout(function () {
  219.                                                 active = false;
  220.                                         }, 1);
  221.                                 }
  222.                         }
  223.  
  224.                         if (onpropertychange in ta) {
  225.                                 if (oninput in ta) {
  226.                                         // Detects IE9.  IE9 does not fire onpropertychange or oninput for deletions,
  227.                                         // so binding to onkeyup to catch most of those occassions.  There is no way that I
  228.                                         // know of to detect something like 'cut' in IE9.
  229.                                         ta[oninput] = ta.onkeyup = adjust;
  230.                                 } else {
  231.                                         // IE7 / IE8
  232.                                         ta[onpropertychange] = adjust;
  233.                                 }
  234.                         } else {
  235.                                 // Modern Browsers
  236.                                 ta[oninput] = adjust;
  237.                         }
  238.  
  239.                         $(window).resize(function(){
  240.                                 active = false;
  241.                                 adjust();
  242.                         });
  243.  
  244.                         // Allow for manual triggering if needed.
  245.                         $ta.bind('autosize', function(){
  246.                                 active = false;
  247.                                 adjust();
  248.                         });
  249.  
  250.                         // Call adjust in case the textarea already contains text.
  251.                         adjust();
  252.                 });
  253.         };
  254. }(window.jQuery || window.Zepto));

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.