Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 16.02.2018, 17:31
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Dilettante_Pro,
читайте пост номер 9

рони,
объясняю-при нажатии кнопки в не клонированном элементе я получаю данные из строки следующим образом- document.getElementById("имя оригинального инпута").value, но в клонированном элементе как мне при нажатии кнопки получить значение только уже из клонированной строки?
Ответить с цитированием
  #12 (permalink)  
Старый 16.02.2018, 18:10
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Вот ваш пример из пост№9 в работающем виде с небольшим изменением
(строка 103)
Вы это имеете в виду?

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>Cкролл</title>
</head>

<body>
<style>
body,
html {
  margin: 0;
  padding: 0;
}
 
.column-left {
  float: left;
  width: 30%;
  background: #aef;
}
 
.column-right {
  margin-left: 30%;
  width: 70%;
  background: tan;
  overflow: auto;
  /* расшириться вниз захватить float'ы */
}
 
.header {
  line-height: 60px;
  background: yellow;
}
 
.inner {
  margin: 1em;
  font-size: 130%;
}
 
#avatar {
  float: left;
  margin: 0 1em .5em 0;
  border: 1px solid black;
  text-align: center;
  background: white;
}
 
img {
  display: block;
  position: relative;
  z-index: 1001;
}
 
.fixed {
  position: fixed;
  left: 0;
  top: 0;
  font-size: 130%;
  width: 100%;
  background: yellow;
}
 
footer {
  position: relative;
  top: 15px;
  margin-bottom: 15px;
  clear: both;
  height: 800px;
  background: #456;
}
</style>
<div id="s_bl">
    <input type="text" size="80" id="first" class="text_input">
    <input type="submit" value="Добавить элемент" onclick="add();" id="bdf">
</div>
<div id="result">
    
</div>

<footer id="foot"></footer>
<script>
var avatar = document.querySelector("#s_bl");//что подхватываем
var clone = avatar.cloneNode(true);
clone.className = "fixed";
var coords = avatar.getBoundingClientRect();
var foot = document.querySelector("#foot").getBoundingClientRect();
document.onscroll = function(e) {
    var _scroll = window.pageYOffset || document.documentElement.scrollTop;
    if(_scroll > coords.bottom && _scroll<foot.top) {
        document.body.appendChild(clone);
    } else if(clone.parentNode){
	document.body.removeChild(clone);
    }
    if (_scroll>foot.top-coords.height){
	clone.style.top = (document.querySelector("#foot").getBoundingClientRect().top - coords.height) + 'px';
    }
}

function add(){
    var div = document.createElement('div');
// div.innerHTML = '<br>Новый элемент</a><br>';
 div.innerHTML = document.getElementById("first").value;
 document.getElementById("result").appendChild(div);

}
</script>
</body>
</html>


Действительно, значение берется из оригинального инпута - клонированный инпут с таким же id игнорируется

Последний раз редактировалось Dilettante_Pro, 16.02.2018 в 18:13.
Ответить с цитированием
  #13 (permalink)  
Старый 16.02.2018, 18:36
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <title>Cкролл</title>
</head>

<body>
<style>
body,
html {
  margin: 0;
  padding: 0;
}

 
.fixed {
  position: fixed;
  left: 0;
  top: 0;
  font-size: 130%;
  width: 100%;
  background: yellow;
}
 
footer {
  position: relative;
  top: 15px;
  margin-bottom: 15px;
  clear: both;
  height: 800px;
  background: #456;
}
</style>
<div id="s_bl">
    <input type="text" size="80" id="first" class="text_input">
    <input type="submit" value="Добавить элемент" onclick="add();" id="bdf">
</div>
<div id="result">
    
</div>

<footer id="foot"></footer>
<script>
var avatar = document.querySelector("#s_bl");//что подхватываем
var coords = avatar.getBoundingClientRect();


var foot = document.querySelector("#foot").getBoundingClientRect();
document.onscroll = function(e) {
    var _scroll = window.pageYOffset || document.documentElement.scrollTop;

    if(_scroll > coords.bottom && _scroll<foot.top) {
        avatar.className = "fixed";
    } else {
	avatar.className = "";
    }
    if (_scroll>foot.top-coords.height){
	avatar.style.top = (document.querySelector("#foot").getBoundingClientRect().top - coords.height) + 'px';
    }
}

function add(){
    var div = document.createElement('div');
// div.innerHTML = '<br>Новый элемент</a><br>';
 div.innerHTML = document.getElementById("first").value;
 document.getElementById("result").appendChild(div);

}
</script>
</body>
</html>

Последний раз редактировалось Dilettante_Pro, 16.02.2018 в 18:39.
Ответить с цитированием
  #14 (permalink)  
Старый 16.02.2018, 20:21
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Я правильно вас понял, что вы избавились от клонирования. а теперь блок ездит и фиксируется, да?

Возникла такая проблема-код
window.addEventListener("DOMContentLoaded", function() {
    //тут код, объявление переменных
    document.addEventListener("scroll", function(e) {
        //тут еще код
    });
});
если я его ставлю в нижнюю часть html страницы прилипание работает, а если выношу весь этот код в отдельный js файл и подключаю в заголовках-то работать перестает и скрипт не выполняет прилипания блока. Думал может это связанно с document.addEventListener? Не подскажете как этот код сделать так, чтобы работал в отдельном файле и чтобы не загружать html страницу.
Спасибо

Последний раз редактировалось Начинающий-Js-кодер, 16.02.2018 в 20:22. Причина: Код
Ответить с цитированием
  #15 (permalink)  
Старый 16.02.2018, 20:23
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

рони,
отдохни и не набивай себе пустых сообщений. Не понял-значит не твое.
Ответить с цитированием
  #16 (permalink)  
Старый 17.02.2018, 06:09
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

не флуди
Ответить с цитированием
  #17 (permalink)  
Старый 17.02.2018, 12:07
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Я максимально доступно ведь объяснил, почему это непонятно?
Ответить с цитированием
  #18 (permalink)  
Старый 17.02.2018, 12:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Начинающий-Js-кодер,
не могу вам помочь, не буду вам мешать, удалил свои сообщения.
Ответить с цитированием
  #19 (permalink)  
Старый 17.02.2018, 13:03
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Начинающий-Js-кодер,
Пропало желание вам помогать
Ответить с цитированием
  #20 (permalink)  
Старый 17.02.2018, 18:34
Кандидат Javascript-наук
Отправить личное сообщение для Начинающий-Js-кодер Посмотреть профиль Найти все сообщения от Начинающий-Js-кодер
 
Регистрация: 12.06.2016
Сообщений: 130

Отчего так, милейший?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прилипающий (скользящий) блок снизу экрана — как прописать условие? yafet Общие вопросы Javascript 11 25.06.2016 11:05
при скроллинге блок исчезает avanesov89 Общие вопросы Javascript 0 19.03.2016 13:26
Jquery Скрыть/Показать блок при наведении tot_kotoryi Ваши сайты и скрипты 1 08.02.2016 23:15
Ховер и появляющий блок Shuryga Элементы интерфейса 3 28.09.2015 14:39
Копирование блоков в блок maximus Events/DOM/Window 1 14.09.2013 19:40