Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 23.08.2017, 19:12
Аспирант
Отправить личное сообщение для JohnJohn Посмотреть профиль Найти все сообщения от JohnJohn
 
Регистрация: 04.06.2017
Сообщений: 46

ничего не изменилось.
Ответить с цитированием
  #52 (permalink)  
Старый 23.08.2017, 19:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

JohnJohn,
а так?
window.onscroll = window.resize =
Ответить с цитированием
  #53 (permalink)  
Старый 23.08.2017, 19:31
Аспирант
Отправить личное сообщение для JohnJohn Посмотреть профиль Найти все сообщения от JohnJohn
 
Регистрация: 04.06.2017
Сообщений: 46

пробовал, тоже нет(
Ответить с цитированием
  #54 (permalink)  
Старый 23.08.2017, 19:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

JohnJohn,
можно только гадать в чём у вас проблема?
Ответить с цитированием
  #55 (permalink)  
Старый 23.08.2017, 20:11
Аспирант
Отправить личное сообщение для JohnJohn Посмотреть профиль Найти все сообщения от JohnJohn
 
Регистрация: 04.06.2017
Сообщений: 46

вот код.

<html>
  <head>
    <style>
    html, body {
      height: 100%;
    }
      .main {
        height: 100%;
      }
      .second_block {
        height: 100%;
      }
      #download_present_img{
        position: fixed;
    z-index: 9999;
    right: 15px;
    bottom: 20px;
    font-size: 50px;
    font-style: normal;
    margin-left: 20px;
    width: 40px;
    height: 40px;
    background: red;
}
.footer_block {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 190px;
    bottom: 0;
    left: 0;
}

.footer {
    color: #ffffff;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 190px;
    background: #000;
}
    </style>
  </head>

  <body>
    <div class="main"></div>
    <div class='second_block'>
    <div id="download_present_img"></div>
    </div>
    <div id="footer_stop"  class="footer_block">
<div  class="footer">
<div class="text_footer">
  <p>footer</p>
</div>
    </div>
    </div>

    
<script>
      function offset(a) {
     for (var b = 0; a;) b += parseInt(a.offsetTop), a = a.offsetParent;
     return b
 }
 var s = !0;
 window.onload = function () {
     var a = document.getElementById("download_present_img"),
         b = offset(a),
         f = window.getComputedStyle ? getComputedStyle(a, "") : a.currentStyle,
         d = a.offsetHeight + parseInt(f.marginTop) || 0,
         e = offset(document.getElementById("footer_stop"));
     window.onscroll = window.resize = function () {
         var c = window.pageYOffset || document.documentElement.scrollTop,
             c = e - (c + d + b);
         s != 0 < c && ((s = 0 < c) ? (a.style.top = b + "px", a.style.position = "fixed") :
             (a.style.top = e - d + "px", a.style.position = "absolute"))
     }
 };

</script>
 

  </body>
</html>

Последний раз редактировалось JohnJohn, 23.08.2017 в 20:35.
Ответить с цитированием
  #56 (permalink)  
Старый 23.08.2017, 21:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

JohnJohn,

вариант...
<!DOCTYPE html>

<html>
  <head>
    <style>
    html, body {
      height: 100%;
    }
      .main {
        height: 100%;
      }
      .second_block {
        height: 100%;
      }
      #download_present_img{
        position: fixed;
    z-index: 9999;
    right: 15px;
    bottom: 20px;
    font-size: 50px;
    font-style: normal;
    margin-left: 20px;
    width: 40px;
    height: 40px;
    background: red;
}
.footer_block {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 190px;
    bottom: 0;
    left: 0;
}

.footer {
    color: #ffffff;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 190px;
    background: #000;
}
    </style>
  </head>

  <body>
    <div class="main"></div>
    <div class='second_block'>
    <div id="download_present_img"></div>
    </div>
    <div id="footer_stop"  class="footer_block">
<div  class="footer">
<div class="text_footer">
  <p>footer</p>
</div>
    </div>
    </div>


<script>
      function offset(a) {
     for (var b = 0; a;) b += parseInt(a.offsetTop), a = a.offsetParent;
     return b
 }
 var s = !0;
 window.onload = function () {
     var a = document.getElementById("download_present_img"),
         b = offset(a),
         f = window.getComputedStyle ? getComputedStyle(a, "") : a.currentStyle,
         d = a.offsetHeight + parseInt(f.marginTop) || 0,
         e = offset(document.getElementById("footer_stop"));
     window.onresize = function() {
    window.scrollTo(0,0);
    s = !0;
    a.style.position = "fixed";
    a.style.top = "";
    b = offset(a);
    e = offset(document.getElementById("footer_stop"));
};

     window.onscroll =  function () {
         var c = window.pageYOffset || document.documentElement.scrollTop,
             c = e - (c + d + b);
         s != 0 < c && ((s = 0 < c) ? (a.style.top = b + "px", a.style.position = "fixed") :
             (a.style.top = e - d + "px", a.style.position = "absolute"))
     }
 };

</script>


  </body>
</html>
Ответить с цитированием
  #57 (permalink)  
Старый 23.08.2017, 21:20
Аспирант
Отправить личное сообщение для JohnJohn Посмотреть профиль Найти все сообщения от JohnJohn
 
Регистрация: 04.06.2017
Сообщений: 46

Хороший вариант... И как вам это в голову приходит!?! Спасибо.
Ответить с цитированием
  #58 (permalink)  
Старый 16.09.2018, 15:55
Интересующийся
Отправить личное сообщение для EvgenyTryap Посмотреть профиль Найти все сообщения от EvgenyTryap
 
Регистрация: 19.09.2014
Сообщений: 19

Сообщение от рони Посмотреть сообщение
EvgenyTryap,
при условии DOCTYPE ...
<!DOCTYPE html>
<html>
 <head>
 <style>
 html *{
   margin:0;
   padding:0;
 }

 .wrapper{
   height:1500px;
   position:relative;
 }

 .footer{
   background:#F00;
   height:300px;
   border-top: rgb(255, 255, 0) 1px  dashed;
 }

 .sidebar{
   height:50px;
   position:fixed;
   bottom:0;
   left:0;
   right:0;
   background-color:#FF0000;
 }

 .sidebar.move{
   position:absolute;
 }

 </style>
   <script>
  window.addEventListener('DOMContentLoaded', function() {
      var footer = document.querySelector('.footer'),
          sidebar = document.querySelector('.sidebar'),
          top, height;
      document.addEventListener('scroll', function() {
          top = footer.getBoundingClientRect().top;
          height = document.documentElement.clientHeight;
          sidebar.classList[top < height ? "add" : "remove"]('move');
      });
  });
   </script>
 </head>
 <body>

 <div class="wrapper">
 <p>Your website content here.</p>
 <div class="sidebar">fixed block</div>
 </div>
 <div class="footer">
 <p>footer text</p>
 </div>

 </body>
 </html>
Сообщение от рони Посмотреть сообщение
EvgenyTryap,
document.body.addEventListener('scroll'
Подскажите, пожалуйста, а как это реализовать если прокрутка в блоке div (например с id="content") реализована?
Ответить с цитированием
  #59 (permalink)  
Старый 16.09.2018, 16:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

EvgenyTryap,
сделайте минимальный макет, иначе можно только гадать.
Ответить с цитированием
  #60 (permalink)  
Старый 16.09.2018, 16:51
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

content.addEventListener('scroll'
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование блоков в блок maximus Events/DOM/Window 1 14.09.2013 19:40
Плавающий блок большой ширины sig Элементы интерфейса 1 24.03.2013 22:22