Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.08.2014, 02:03
Интересующийся
Отправить личное сообщение для pshcolnyy Посмотреть профиль Найти все сообщения от pshcolnyy
 
Регистрация: 19.04.2014
Сообщений: 25

Моя тупость зашкаливает(2).
Всем привет. Скажите пожалуйста в чём ошибка.
Попытался сделать простое окно с содержимым которые при нажатии на кнопку сползает вверх и появляется то что было под тем содержимым.

<div id="obolochka">
		<div id="telo">
			aslkdjfklsaflksajdflkasjdflksjdfl;ajfl
			alksdjflkjasfdljlasdjf;lajsdfljasf;lj
			alksdjflasjf;lsjdflajdfajsfldjsalfjs
			alksdjfljasfljfsdjaflsajfldjsafdjl;asd
			flkasjflksjfljasfjalskfjl;ajfdl;asjf;laj'
			alfdksjflkjasl;fjasljdflsakjfdlasjdfjlsafj
			ajsdlfkjkalsfjalfkjlasjfljasfljsfdjk
			adsjlkfjasflkjasdl;kjfsaljflsajdflk
			asdfjlasjfdlasdjflasjfdlafjdlsajfl;sajfd
			ajlsdkfjasl;kjdflaksjfdla;skjfdlaskjfdla;
			ajdlsfkjals;kdjflaskjfdlakjfdlsajfalsdjkf
			alsdkfjlasjfdl;asjfdlajksfdlaksjdflja
			adlkfjaksljdfkjasfdlkjasfjlkfdsalkjfslk
			al;ksdjflaksjfdlkjasfdlkajsfdlkjafdlk
			alksdjlkjfdalsjkfdlkajfdlksjafdjlkafdlkj
			alskfdjal;sdfj;asdfjlasjfdladfjlakjsdflajdf
			alsdkfj;afj;asldfjalsdjflajsdflasjfdslj
			alskdfj;adf;lasjdflasdfjalskjdflkasjdflkja
			aslkdjfklsaflksajdflkasjdflksjdfl;ajfl
			alksdjflkjasfdljlasdjf;lajsdfljasf;lj
			alksdjflasjf;lsjdflajdfajsfldjsalfjs
			alksdjfljasfljfsdjaflsajfldjsafdjl;asd
			flkasjflksjfljasfjalskfjl;ajfdl;asjf;laj'
			alfdksjflkjasl;fjasljdflsakjfdlasjdfjlsafj
			ajsdlfkjkalsfjalfkjlasjfljasfljsfdjk
			adsjlkfjasflkjasdl;kjfsaljflsajdflk
			asdfjlasjfdlasdjflasjfdlafjdlsajfl;sajfd
			ajlsdkfjasl;kjdflaksjfdla;skjfdlaskjfdla;
			ajdlsfkjals;kdjflaskjfdlakjfdlsajfalsdjkf
			alsdkfjlasjfdl;asjfdlajksfdlaksjdflja
			adlkfjaksljdfkjasfdlkjasfjlkfdsalkjfslk
			al;ksdjflaksjfdlkjasfdlkajsfdlkjafdlk
			alksdjlkjfdalsjkfdlkajfdlksjafdjlkafdlkj
			alskfdjal;sdfj;asdfjlasjfdladfjlakjsdflajdf
			alsdkfj;afj;asldfjalsdjflajsdflasjfdslj
			alskdfj;adf;lasjdflasdfjalskjdflkasjdflkja
			aslkdjfklsaflksajdflkasjdflksjdfl;ajfl
			alksdjflkjasfdljlasdjf;lajsdfljasf;lj
			alksdjflasjf;lsjdflajdfajsfldjsalfjs
			alksdjfljasfljfsdjaflsajfldjsafdjl;asd
			flkasjflksjfljasfjalskfjl;ajfdl;asjf;laj'
			alfdksjflkjasl;fjasljdflsakjfdlasjdfjlsafj
			ajsdlfkjkalsfjalfkjlasjfljasfljsfdjk
			adsjlkfjasflkjasdl;kjfsaljflsajdflk
			asdfjlasjfdlasdjflasjfdlafjdlsajfl;sajfd
			ajlsdkfjasl;kjdflaksjfdla;skjfdlaskjfdla;
			ajdlsfkjals;kdjflaskjfdlakjfdlsajfalsdjkf
			alsdkfjlasjfdl;asjfdlajksfdlaksjdflja
			adlkfjaksljdfkjasfdlkjasfjlkfdsalkjfslk
			al;ksdjflaksjfdlkjasfdlkajsfdlkjafdlk
			alksdjlkjfdalsjkfdlkajfdlksjafdjlkafdlkj
			alskfdjal;sdfj;asdfjlasjfdladfjlakjsdflajdf
			alsdkfj;afj;asldfjalsdjflajsdflasjfdslj
			alskdfj;adf;lasjdflasdfjalskjdflkasjdflkja
		</div>
		<div id="knopka">
			<input type="button" value="knopka">
		</div>
	</div>



Код:
#obolochka {
	margin: 300px auto 0 auto;
	border: 2px solid black;
	width: 500px;
	height: 350px; 
}

#telo {
	position: absolute;
	width: 500px;
	height: 300px;
	overflow: hidden;
	outline: 2px solid red;
}

#knopka {
	bottom: 0px;
	height: 50px;
	width: 50px;
	margin: 300px auto 0 auto;
}
$("#knopka").click(function() {
	$("#telo").animate({"top":"+=100px"},500);
})


И еще один вопрос какой правильный синтаксис метода animate
так:
.animate({"top":"+=100px"},500);
или:
.animate({top:+=100px"},500);
Ответить с цитированием
  #2 (permalink)  
Старый 12.08.2014, 02:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

pshcolnyy,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
#obolochka {
    position: relative;
	margin: 0px auto;
	border: 2px solid black;
	width: 500px;
	height: 350px;
    overflow: hidden;

}

#telo {
	position: absolute;
	width: 500px;
	height: 300px;
	overflow: hidden;
	outline: 2px solid red;
    top:0px;
    background: rgba(255, 255, 255, 1);
}

#knopka {
	bottom: 0px;
	height: 50px;
	width: 50px;
	margin: 300px auto;
}
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  	$(function()
  	  {
  	    $("#knopka").click(function()
  	      {
  	        $("#telo").animate({"top": "-=300"}, 500);
  	      }
  	    )
  	  }
  	);
  </script>
</head>

<body>
<div id="obolochka">
		<div id="telo">
			aslkdjfklsaflksajdflkasjdflksjdfl;ajfl
			alksdjflkjasfdljlasdjf;lajsdfljasf;lj
			alksdjflasjf;lsjdflajdfajsfldjsalfjs
			alksdjfljasfljfsdjaflsajfldjsafdjl;asd
			flkasjflksjfljasfjalskfjl;ajfdl;asjf;laj'
			alfdksjflkjasl;fjasljdflsakjfdlasjdfjlsafj
			ajsdlfkjkalsfjalfkjlasjfljasfljsfdjk
			adsjlkfjasflkjasdl;kjfsaljflsajdflk
			asdfjlasjfdlasdjflasjfdlafjdlsajfl;sajfd
			ajlsdkfjasl;kjdflaksjfdla;skjfdlaskjfdla;
			ajdlsfkjals;kdjflaskjfdlakjfdlsajfalsdjkf
			alsdkfjlasjfdl;asjfdlajksfdlaksjdflja
			adlkfjaksljdfkjasfdlkjasfjlkfdsalkjfslk
			al;ksdjflaksjfdlkjasfdlkajsfdlkjafdlk
			alksdjlkjfdalsjkfdlkajfdlksjafdjlkafdlkj
			alskfdjal;sdfj;asdfjlasjfdladfjlakjsdflajdf
			alsdkfj;afj;asldfjalsdjflajsdflasjfdslj
			alskdfj;adf;lasjdflasdfjalskjdflkasjdflkja
			aslkdjfklsaflksajdflkasjdflksjdfl;ajfl
			alksdjflkjasfdljlasdjf;lajsdfljasf;lj
			alksdjflasjf;lsjdflajdfajsfldjsalfjs
			alksdjfljasfljfsdjaflsajfldjsafdjl;asd
			flkasjflksjfljasfjalskfjl;ajfdl;asjf;laj'
			alfdksjflkjasl;fjasljdflsakjfdlasjdfjlsafj
			ajsdlfkjkalsfjalfkjlasjfljasfljsfdjk
			adsjlkfjasflkjasdl;kjfsaljflsajdflk
			asdfjlasjfdlasdjflasjfdlafjdlsajfl;sajfd
			ajlsdkfjasl;kjdflaksjfdla;skjfdlaskjfdla;
			ajdlsfkjals;kdjflaskjfdlakjfdlsajfalsdjkf
			alsdkfjlasjfdl;asjfdlajksfdlaksjdflja
			adlkfjaksljdfkjasfdlkjasfjlkfdsalkjfslk
			al;ksdjflaksjfdlkjasfdlkajsfdlkjafdlk
			alksdjlkjfdalsjkfdlkajfdlksjafdjlkafdlkj
			alskfdjal;sdfj;asdfjlasjfdladfjlakjsdflajdf
			alsdkfj;afj;asldfjalsdjflajsdflasjfdslj
			alskdfj;adf;lasjdflasdfjalskjdflkasjdflkja
			aslkdjfklsaflksajdflkasjdflksjdfl;ajfl
			alksdjflkjasfdljlasdjf;lajsdfljasf;lj
			alksdjflasjf;lsjdflajdfajsfldjsalfjs
			alksdjfljasfljfsdjaflsajfldjsafdjl;asd
			flkasjflksjfljasfjalskfjl;ajfdl;asjf;laj'
			alfdksjflkjasl;fjasljdflsakjfdlasjdfjlsafj
			ajsdlfkjkalsfjalfkjlasjfljasfljsfdjk
			adsjlkfjasflkjasdl;kjfsaljflsajdflk
			asdfjlasjfdlasdjflasjfdlafjdlsajfl;sajfd
			ajlsdkfjasl;kjdflaksjfdla;skjfdlaskjfdla;
			ajdlsfkjals;kdjflaskjfdlakjfdlsajfalsdjkf
			alsdkfjlasjfdl;asjfdlajksfdlaksjdflja
			adlkfjaksljdfkjasfdlkjasfjlkfdsalkjfslk
			al;ksdjflaksjfdlkjasfdlkajsfdlkjafdlk
			alksdjlkjfdalsjkfdlkajfdlksjafdjlkafdlkj
			alskfdjal;sdfj;asdfjlasjfdladfjlakjsdflajdf
			alsdkfj;afj;asldfjalsdjflajsdflasjfdslj
			alskdfj;adf;lasjdflasdfjalskjdflkasjdflkja
		</div>фигня всякая
		<div id="knopka">
			<input type="button" value="knopka">
		</div>
	</div>

</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 12.08.2014, 03:31
Интересующийся
Отправить личное сообщение для pshcolnyy Посмотреть профиль Найти все сообщения от pshcolnyy
 
Регистрация: 19.04.2014
Сообщений: 25

так вся проблема была в том что я не указал position: relative? Это же просто указывает относительно какого элемента происходит сдвиг.
Ответить с цитированием
  #4 (permalink)  
Старый 12.08.2014, 03:32
Интересующийся
Отправить личное сообщение для pshcolnyy Посмотреть профиль Найти все сообщения от pshcolnyy
 
Регистрация: 19.04.2014
Сообщений: 25

Но все равно спасибо за код, хотя я толком ничего не понял.
Ответить с цитированием
  #5 (permalink)  
Старый 12.08.2014, 04:39
Интересующийся
Отправить личное сообщение для pshcolnyy Посмотреть профиль Найти все сообщения от pshcolnyy
 
Регистрация: 19.04.2014
Сообщений: 25

Я немного подумав понял что ничего не понял почему эта функция не работает когда она находится в отдельном файле? я понимаю что эта функция выполняется после загрузки DOM и все, и обязательно создавать функцию, нельзя это сделать не создавая функцию(любопытность )

Последний раз редактировалось pshcolnyy, 12.08.2014 в 07:31.
Ответить с цитированием
  #6 (permalink)  
Старый 12.08.2014, 13:06
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Можно подключить скрипт с отдельным файлом в самом низу body тогда не надо будет делать функцию дожидающуюся загрузки дом.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Моя тупость зашкаливает. pshcolnyy jQuery 4 11.08.2014 17:36
Моя разработка - Monstra CMS Awilum Ваши сайты и скрипты 43 13.12.2013 18:07
Моя первая попытка в ООП PashPP Ваши сайты и скрипты 15 08.10.2012 01:50
Почему моя карма стала -582 за один день Brook Сайт Javascript.ru 7 17.05.2012 11:37
Моя "пятнашка"...не работает Angie Javascript под браузер 2 04.02.2012 14:31