簡體   English   中英

Javascript CSS絕對修復

[英]Javascript CSS absolute to fixed issue

在將城鎮滾動到大約450像素后,我試圖使div固定。 我有一些可以使用jquery的東西,但是由於jquery沖突,它破壞了一半的網站。 這是我要使用的JavaScript

<script type="text/javascript">

function window_onload() {
  window.addEventListener("scroll",wallpaper_reset_top,false);
}

var wallpaper_top=450;

function wallpaper_reset_top() {
  var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
  if(scrollTop>wallpaper_top&&wallpaper.IdName==="wallpaper_absolute") {
    document.getElementById("wallpaper").IdName="wallpaper_fixed";
  }
  else if(scrollTop<wallpaper_top&&wallpaper.IdName==="wallpaper_fixed") {
    document.getElementById("wallpaper").IdName="wallpaper_absolute";
  }
}

</script>

這是它所在的div集合

<div id="body-wrapper">

    <?php if ( is_home() || is_front_page() ) { ?>

    <?php if(get_option('mvp_wall_ad')) { ?>

    <div id="wallpaper">

        <?php if(get_option('mvp_wall_url')) { ?>

        <a href="<?php echo get_option('mvp_wall_url'); ?>" class="wallpaper-link" target="_blank"></a>

        <?php } ?>

我不確定在哪兒出錯了,但是向下滾動時基本上什么也沒發生

首先,在純JavaScript上付出很大的努力! 我只是將其更改為如下所示:

<script type="text/javascript">

window.onload = function() {
  window.addEventListener("scroll",wallpaper_reset_top,false);
}

var wallpaper_top=450;

function wallpaper_reset_top() {
  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
  if(scrollTop > wallpaper_top && document.getElementById("wallpaper").className === "wallpaper_absolute") {
    document.getElementById("wallpaper").className = "wallpaper_fixed";
  }
  else if(scrollTop < wallpaper_top && document.getElementById("wallpaper").className === "wallpaper_fixed") {
    document.getElementById("wallpaper").className = "wallpaper_absolute";
  }
}
</script>

而您的HTML:

<div id="wallpaper" class="wallpaper_absolute">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM