Q:

How to show part of element from other side of canvas

How to show part of element outside of canvas from opposite side canvas. Illustration: 

A:

You need to draw twice when the shape is outside canvas' boundaries. Draw the main part first, then the same part offset by width so it gives the illusion of showing on the other side.
Manually Draw twice
This draws a shape going from right to left, when the shape is outside the left edge it will be redrawn at the right edge representing the part that is non-visible on the left side. For the opposite way (left to right) the principle is just the same, just use x with canvas' width instead of 0.

var ctx = document.querySelector("canvas").getContext("2d"),
    x = 100,                                         // start position
    w = 200;                                         // shape width

ctx.fillStyle = "#777";

(function loop() {
  ctx.clearRect(0, 0, 300, 150);                     // clear canvas
  ctx.fillRect(x, 0, w, 150);                        // draw main part/image/shape
  if (x < 0) {                                       // should rotate? draw secondary
    ctx.fillRect(ctx.canvas.width + x, 0, w, 150);   // use canvas width + x (x<0)
  }

  x -= 7;                                            // animate
  if (x <= -w) x = ctx.canvas.width + x;             // at some point reset x

  requestAnimationFrame(loop)
})();
<canvas></canvas>

Translated Pattern
To simplify this a CanvasPattern can be used. The later version of canvas allows local transforms on the pattern itself, but since this is not currently widely spread I'll show an example using normal transforms and compensated x position:

var ctx = document.querySelector("canvas").getContext("2d"),
    pattern,
    x = 100,                                         // start position
    w = 200;                                         // shape width

// create pattern
ctx.fillStyle = "#777";
ctx.fillRect(x, 0, w, 150);                          // draw main part/image/shape
pattern = ctx.createPattern(ctx.canvas, "repeat");   // use current canvas as pattern
ctx.fillStyle = pattern;                             // set pattern as fillStyle

(function loop() {
  ctx.setTransform(1,0,0,1,0,0);                     // reset transforms
  ctx.clearRect(0, 0, 300, 150);                     // clear canvas
  ctx.setTransform(1,0,0,1,x,0);                     // translate absolute x
  ctx.fillRect(-x, 0, 300, 150);                     // fill using pattern, compensate transform
  x -= 7;                                            // animate

  requestAnimationFrame(loop)
})();
<canvas></canvas>

