Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.05.2015, 14:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Trues
в чем подвох?
Ты не в том ищешь проблему...
А дело в малом. Ты просто не понимаешь что возвращает
$(this).scrollTop()
Ответить с цитированием
  #12 (permalink)  
Старый 07.05.2015, 14:23
Аспирант
Отправить личное сообщение для Trues Посмотреть профиль Найти все сообщения от Trues
 
Регистрация: 19.02.2015
Сообщений: 71

этого то я и боялся что он просто перепрыгивает число. делаю разброс
if(scrl_h+5 >= div_top && scrl_h-5 <= div_top)

не походит т.к. он начинает выполнять несколько раз . а надо только один как то ведь можно обойти это но как? все что приходит на ум это только костль. что нибудь вроде если он выполнил то меняем переменную и если переменная ровная 1 то не не выполняем эту функцию
Ответить с цитированием
  #13 (permalink)  
Старый 07.05.2015, 14:37
Аспирант
Отправить личное сообщение для Trues Посмотреть профиль Найти все сообщения от Trues
 
Регистрация: 19.02.2015
Сообщений: 71

попробывал твоим методом . записывал в скрытый инпут $(this).scrollTop() и когда value достигнет нужного числа делал вывод alert'a но он почему то все равно перескакивает время от времени ((((
Ответить с цитированием
  #14 (permalink)  
Старый 07.05.2015, 14:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Trues, у тебя явно проблемы с пониманием происходящего в браузере...

Еще один пример для тебя...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
html,
body {
	height: 4000px;
}
#info {
	position: fixed;
	top: 10px;
	right: 10px;
	width: 100px;
}
.scroll-bot {
	position: absolute;
	top: 1500px;
	left: 100px;
	width: 200px;
	border: 1px solid;
}
</style>
<script type='text/javascript'>
$(function(){
	var ok=true;
	$(document).scroll(function(){
		var div_top=parseInt($('.scroll-bot').offset().top);
		var div_h=$('.scroll-bot').height();
		var scrl_top=parseInt($(this).scrollTop());
		var win_h=$('.scroll-bot').parent().parent().get(0).clientHeight;
		$('#div_top').text(div_top);
		$('#scrl_top').text(scrl_top);
		$('#win_h').text(win_h);
		if(ok&&((div_top+div_h)-scrl_top)<win_h){
			alert('Привет');
			ok=false;
		}
	});
});
</script>
</head>
<body>
<div id='info'>
	<p id='scrl_top'></p>
	<p id='win_h'></p>
	<p id='div_top'></p>
</div>
<div class='scroll-bot'>scroll-bot</div>
</body>
</html>
Ответить с цитированием
  #15 (permalink)  
Старый 07.05.2015, 15:11
Аспирант
Отправить личное сообщение для Trues Посмотреть профиль Найти все сообщения от Trues
 
Регистрация: 19.02.2015
Сообщений: 71

ksa я посмотрел что выдает parseInt($(this).scrollTop()) записал все цифры которые он мне выдает и увидел что он отсылает не каждое число от и до т.е. в момент когда мы прокрутили я думал он даст все числа например от 200 до 400 но он перескакивает и чем быстрее крутанешь тем больше чисел он перескакивает. но как мне выйти из ситуации я та и не понял

цифры которые он мне выдал


, 2199 , 2200 , 2203 , 2207 , 2211 , 2217 , 2223 , 2229 , 2236 , 2243 , 2250 , 2256 , 2263 , 2270 , 2275 , 2282 , 2287 , 2292 , 2296 , 2300 , 2303 , 2306 , 2307 , 2309 , 2310 , 2312 , 2316 , 2321 , 2327 , 2332 , 2339 , 2346 , 2352 , 2360 , 2366 , 2372 , 2379 , 2385 , 2391 , 2396 , 2402 , 2405 , 2410 , 2413 , 2416 , 2417 , 2419 , 2418 , 2416 , 2407 , 2400 , 2393 , 2370 , 2339 , 2303 , 2267 , 2233 , 2199 , 2168 , 2142 , 2120 , 2104 , 2093 , 2089 , 2090 , 2091 , 2097 , 2118 , 2156 , 2202 , 2255 , 2308 , 2356 , 2404 , 2448 , 2485 , 2523 , 2555 , 2582 , 2606 , 2624 , 2635 , 2639
Ответить с цитированием
  #16 (permalink)  
Старый 07.05.2015, 15:12
Аспирант
Отправить личное сообщение для Trues Посмотреть профиль Найти все сообщения от Trues
 
Регистрация: 19.02.2015
Сообщений: 71

Прости за мою тупость(( и огромное спасибо за то что тратишь на меня время.
Ответить с цитированием
  #17 (permalink)  
Старый 07.05.2015, 15:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Trues
я думал он даст все числа например от 200 до 400 но он перескакивает и чем быстрее крутанешь тем больше чисел он перескакивает
Да, скрол так и работает.
Сообщение от Trues
но как мне выйти из ситуации я та и не понял
А пример мой смотрел?
Прокрутили до блока показали алерт))

Там вроде все просто показано, как поймать первое появление.
Ответить с цитированием
  #18 (permalink)  
Старый 07.05.2015, 16:08
Аспирант
Отправить личное сообщение для Trues Посмотреть профиль Найти все сообщения от Trues
 
Регистрация: 19.02.2015
Сообщений: 71

Да посмотрел и впринцапе там все понял но есть маленькое но. там получается подргузка контента т.е. доходим до дива подгружаем контент и див опускается вниз еще далее доходим до него подружаем контент и опускается див (в следствии подгрузки контент его отесняет в низ) второй вариант не подходит так как сработает только один раз хотя это можно исправить переменной ок присвоить true после того как контент подгрузится это понятно но есть второе но. алерт он выводит мне несколько раз я бы сказал что очень даже много раз. а значит и контент будет подгружать так же много раз а надо все один раз.
Ответить с цитированием
  #19 (permalink)  
Старый 07.05.2015, 16:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Trues, вот еще тебе статейку нашел... Там все по шагам расписано. С комментариями!
http://vk-book.ru/proverit-vidimost-...oshhyu-jquery/
Ответить с цитированием
  #20 (permalink)  
Старый 07.05.2015, 16:08
Аспирант
Отправить личное сообщение для Trues Посмотреть профиль Найти все сообщения от Trues
 
Регистрация: 19.02.2015
Сообщений: 71

вся загвозка в том и получается что алерт выводится много раз
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавное раскрытие и сворачивание блока StyLLeR jQuery 6 07.07.2014 16:00
Движение по элементам блока без перезапуска функции выпадающеего меню. tutelaris Элементы интерфейса 4 26.04.2013 09:15
вычисление и фиксация ширины блока konstantin-mn jQuery 2 27.08.2012 11:42
слайд панели tadjik1 Элементы интерфейса 22 02.04.2012 17:13
Два блока div разъезжаются при скроллинге окна браузера. call007 jQuery 0 03.04.2011 16:21