Gun Talk

Philip Defranco on Why He Owns A Gun

Reading Time: 0:17 min

There are bad cops and there are good cops, and I’ll shame the bad cops because there are some. You’ll be damn sure that when my house is broken into,…

View post

Engineers Build The World’s First Real 3D-Printed Gun

Reading Time: 0:48 min

The Liberator, for all the hoopla, was not really a gun. This 3D-printed firearm, on the other hand, is a gun. It is a copy of a 1911 made using…

View post

Facebook Comment about my Close Encounter Post

Reading Time: 0:40 min

I’m all about gun rights and all, but why the hell is this guy riding around with so much fire power? What if he had been overtaken? Now more of…

View post

Scandal’s Cyrus Beene using a Gun Safety Analogy to Scold Mellie Grant

Reading Time: 0:7 min

What’s the second rule of politics? Here’s a hint, the same rule applies to gun ownership, the microphone is always loaded.  

View post

Never Let Chris Costa Borrow Any of Your Guns

Reading Time: 2:34 min

I was confused as the man who is commonly known as the beard, handed me his Salient Arms Glock 19. The gun looked like he found it at the bottom…

View post

James Yeager and I Talk Guns,Hogs,Night vision and why he’s the Kanye West of the Gun world.

Reading Time: 0:12 min

I call James Yeager the Kanye West of  the gun world because he follows no one on instagram (well, he used to), and he trolls his haters  on a constant…

View post
<script>
  /*Source: https://github.com/Krzysztof-Antosik/Two-direction-Sticky-Sidebar*/
  
  // Verificar el ancho de pantalla al cargar y redimensionar
  function checkScreenWidth() {
    if (window.innerWidth <= 767) {
      // Si la pantalla es menor o igual a 676px, no ejecutar el código
      return;
    }

    const stickyElement = document.querySelector('.fb-sidebar__aside');
    const startPosition = stickyElement.getBoundingClientRect().top;

    let endScroll = window.innerHeight - stickyElement.offsetHeight - 500;
    let currPos = window.scrollY;
    let screenHeight = window.innerHeight;
    let stickyElementHeight = stickyElement.offsetHeight;
    let topGap = 40;
    let bottomGap = 40;

    setTimeout(() => {
      if (stickyElement.hasAttribute('data-top-gap')) {
        const dataTopGap = stickyElement.getAttribute('data-top-gap');
        topGap = dataTopGap === 'auto' ? startPosition : parseInt(dataTopGap);
      }

      if (stickyElement.hasAttribute('data-bottom-gap')) {
        bottomGap = parseInt(stickyElement.getAttribute('data-bottom-gap'));
      }
    }, 100);

    stickyElement.style.position = 'sticky';
    stickyElement.style.top = `${topGap}px`;
    stickyElement.style.height = 'fit-content';

    function positionStickySidebar() {
      endScroll = window.innerHeight - stickyElement.offsetHeight - bottomGap;
      const stickyElementTop = parseInt(stickyElement.style.top.replace('px', ''));

      if (stickyElementHeight + topGap + bottomGap > screenHeight) {
        if (window.scrollY < currPos) {
          if (stickyElementTop < topGap) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop >= topGap && stickyElementTop !== topGap) {
            stickyElement.style.top = `${topGap}px`;
          }
        } else {
          if (stickyElementTop > endScroll) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop < endScroll && stickyElementTop !== endScroll) {
            stickyElement.style.top = `${endScroll}px`;
          }
        }
      } else {
        stickyElement.style.top = `${topGap}px`;
      }
      currPos = window.scrollY;
    }

    function stickyElementToMe() {
      stickyElement.style.top = `${topGap}px`;
    }

    function updateSticky() {
      screenHeight = window.innerHeight;
      stickyElementHeight = stickyElement.offsetHeight;
      positionStickySidebar();
    }

    setTimeout(() => {
      window.addEventListener('resize', () => {
        currPos = window.scrollY;
        updateSticky();
      });

      document.addEventListener('scroll', updateSticky, {
        capture: true,
        passive: true
      });
    }, 1000);
  }

  // Verificar el ancho de pantalla al cargar y redimensionar
  window.addEventListener('load', checkScreenWidth);
  window.addEventListener('resize', checkScreenWidth);
</script>