anchor.diff:    _defaultOnChange(item) {
       loading.value = item[VALUE];
     }
  +
   
     render() {
       var _items = [];
  
positive.code:       (0 - _spanWidth * items.length + ref('itemsDiv').marginEdge.width);
  
    checkSetScrollStepRedraw(_scrollStep){
      if (_scrollStep > 0){
        _scrollStep = 0;
      }
  
      if (_scrollStep < getMinMarginLeft()) {
        _scrollStep = getMinMarginLeft();
      }
  
      if (_visibleItemsWindowSize ~/_spanWidth >= items.length) _scrollStep = 0;
  
  
negative.code:       checkSetScrollStepRedraw(_scrollStep);
      }
      else {
        _scrollListDiv.style.marginLeft = '${checkBoundaries(marginToNum(_scrollListDiv.style.marginLeft))}px';
        redraw();
      }
    }
  
    num checkBoundaries(num margin) {
      var scroll = false;
      if (margin > 0) {
        return 0;
      } else if (margin < getMinMarginLeft()) {
        return getMinMarginLeft();
      } else {
        return margin;
      }
    }
  
    checkAndSetScrollStep(_){
  
      var _scrollStep = _scrollListDiv.style.marginLeft;
  
      if (_scrollStep == '') {
  