Прокрутили до блока показали алерт))
Ребят все не могу допереть как сделать есть некий блок
<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:40. |