2A News

74-Year-Old NC Man Shoots Suspect Entering Through Window

Reading Time: 1:58 min

The hero of this incident, who likely saved himself from serious injury or worse, is exactly who the framers had in mind when they included the Second Amendment in the…

View post

Federal Court Upholds Age-Based Handgun Ban

Reading Time: 1:56 min

U.S. District Judge Sarala Nagala on Monday rejected the lawsuit brought by the Second Amendment Foundation (SAF) and the Connecticut Citizens Defense League (CCDL) against the state’s ban on adults…

View post

Upstart Political Cabal Openly Seeks Repeal of Second Amendment

Reading Time: 2:21 min

While the American political scene features many prominent players who oppose gun rights to one degree or another, most do not extend their opposition to supporting changes to the Constitution…

View post

Oregon Initiative to Ban Hunting and Fishing Fails–This Time

Reading Time: 1:60 min

Don’t look now, but there are literally dozens of rural Illinois counties passing referendums to secede from the state that is wholly dominated by Chicago politics. Oregon could be next.…

View post

Sheriff: Idaho’s ‘Castle Doctrine’ Protects Homeowner 

Reading Time: 1:59 min

An apparently complex domestic situation erupted in violence Sunday evening in Idaho, and the fallout left 50-year-old Jason Leroy Sparks dead. He was the ex-husband of Ashley Sparks, and the…

View post

Tulsa Homeowner Fires Single Shot, Ends Violent Threat

Reading Time: 2:6 min

A seemingly ordinary Wednesday night in a suburban Tulsa neighborhood exploded in violence at around midnight. The alleged target first retreated, then wielded a baseball bat when the suspect followed…

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>