Прокрутили до блока показали алерт))
Ребят все не могу допереть как сделать есть некий блок
<div class='do-menya'></div> и когда мы скролим до него нужно что б что то происходило ну допустим появлялся алерт
$(document).scroll(function(){
});
|
Цитата:
|
Тут пошагово все расписано
http://habrahabr.ru/post/240083/ |
Спасибо почитал думаю сделаю)))
|
Ребят написал след образом но почему то не выдает нечего(((
$(document).scroll(function(){
if(parseInt($(this).scrollTop()) == parseInt($('.scroll-bot').offset().top))
{
alert('Привет');
}
});
т.е. при прокрутке страницы мы смотрим прокрутили сколько мы прокрутили $(this).scrollTop() и спрашиваем расстояние которое мы прокрутили и расстояние от вверха страницы до блока с классом scroll-bot одинаково или нет. и если одинаково ты мы даем алерт но я прохожу мимо блока дальше вниз и он не показывает алер. что я понял не правильно? и как это можно исправить? |
Цитата:
|
я выводил расстояние до блока он дал мне 2005. и дальше много цифр. дальше я выводил сколько я проскролил ну и он мне показывал сначала меньше этого числа далее больше. когда я делал так
if(parseInt($(this).scrollTop()) == 2005)
{
alert('Привет');
}
то он выводил мне аллерт |
Цитата:
|
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: 2000px;
}
#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(){
$(document).scroll(function(){
var div_top=parseInt($('.scroll-bot').offset().top);
var scrl_h=parseInt($(this).scrollTop());
$('#div_top').text(div_top);
$('#scrl_h').text(scrl_h);
if(scrl_h == div_top){
alert('Привет');
}
});
});
</script>
</head>
<body>
<div id='info'>
<p id='scrl_h'></p>
<p id='div_top'></p>
</div>
<div class='scroll-bot'>scroll-bot</div>
</body>
</html>
|
$(this).scrollTop() выводил на алертах и он выдавал числа но число 2005 не дал.
в этом загвозка? несолько раз пыьался его получить не вышло. но почему тогда, когда задаешь в условии конкретно число 2005 он принимает значение true но когда пишешь parseInt($('.scroll-bot').offset().top) (вместо конкретного числа) данного значения он не принимает. ( parseInt прописываю т.к. $('.scroll-bot').offset().top не является целым числом) Ksa в чем подвох? Если чесно не могу понять((((:help: |
| Часовой пояс GMT +3, время: 21:25. |