Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Text
Posted by: Влад Якуб
Added: Oct 3, 2019 8:15 AM
Modified: Oct 8, 2020 8:23 AM
Views: 130
Tags: no tags
  1. 'js' => '
  2.                   $.fn.isOnScreen = function(){
  3.                      var viewport = {};
  4.                      viewport.top = $(window).scrollTop();
  5.                      viewport.bottom = viewport.top + $(window).height();
  6.                      var bounds = {};
  7.                      bounds.top = this.offset().top;
  8.                      bounds.bottom = bounds.top;
  9.                      return ((bounds.top <= viewport.bottom) && (bounds.bottom >= viewport.top));
  10.                  };
  11.  
  12.                  var $shapka = $(".pr-row-head");
  13.                  var $shapka2 = $(".pr-row-head").clone();
  14.                  $shapka2.hide();
  15.                  $shapka2.insertBefore($shapka);
  16.                  $shapka2.css({
  17.                      position: "fixed",
  18.                      top: "0",
  19.                      "z-index": "1000",
  20.                      width: ($shapka.outerWidth() + 1) + "px",
  21.                      height: ($shapka.outerHeight()) + "px",
  22.                      left: (-$(window).scrollLeft() - -$(".pr-rows-group").offset().left ) + "px",
  23.                      background: "#f3f3f3"
  24.                  });
  25.                  $shapka2.find("td").css({
  26.                      background: "#f3f3f3"
  27.                  });
  28.  
  29.                  function refreshWidths() {
  30.                      $shapka2.css({
  31.                          width: ($shapka.outerWidth() + 1) + "px",
  32.                          height: ($shapka.outerHeight()) + "px",
  33.                          left: (-$(window).scrollLeft() - -$(".pr-rows-group").offset().left ) + "px"
  34.                        
  35.                      });
  36.                      $shapka.find("td").each(function (index, item) {
  37.                          $shapka2.find("td").eq(index).css({ width: ($(item).outerWidth()) + "px" });
  38.                      });
  39.                  }
  40.  
  41.                  refreshWidths();
  42.              
  43.                  $(window).on("scroll", function () {
  44.                      $shapka2.toggle(!$shapka.isOnScreen());
  45.                      if (!$shapka.isOnScreen())
  46.                          refreshWidths();
  47.                  });
  48.                  $("x-pad").on("scroll", function () {
  49.                      $shapka2.toggle(!$shapka.isOnScreen());
  50.                      if (!$shapka.isOnScreen())
  51.                          refreshWidths();
  52.                  });
  53.                 ',