2013-11-19 6 views
2

Я хочу показать DIV, когда страница прокручивается вниз, например. скажем, 100 пикселей вниз. Я использую ниже кодПоказать div Когда страница прокручивается до 100px

HTML-

<div class="scroll_div">Hello World!</div> 

JQuery

jQuery(document).scroll(function ($) { 
    var y = $(this).scrollTop(); 
    if (y > 100) { 
     $('.scroll_div').fadeIn(); 
    } else { 
     $('.scroll_div').fadeOut(); 
    } 

}); 

и CSS

body { 
    height:1600px; 
} 

.scroll_div{ 
    display: none; 
} 

Пожалуйста, помогите

+1

Вот jsfiddle: http://jsfiddle.net/zYYZn/ – user2854563

ответ

1

Возможно, вы используете старую версию миниатюрный jQuery. У него несколько устаревших кодов (-ов), которые необходимо заменить некоторыми новыми функциями, например. он имеет известный код returnValue, который необходимо заменить на preventDefault.

Я предлагаю вам выполнить поиск кода, о котором я говорил, и попытаться заменить его на sugested code.

+1

Удивительный ответ !! Да, это был исправленный код, и я изменился, и он работает :) Еще раз спасибо! – user2854563

1

Параметр, передаваемый в обработчик события представляет событие объект. Попробуйте вместо этого:

jQuery(document).scroll(function (e) { 

Если вы хотите использовать $ внутри обработчика событий, обернуть обработчик в другой функции, которая принимает в объект JQuery:

(function($) { 
    $(document).scroll(function(e) { 
     //... 
    }); 
})(jQuery); 
3

Попробуйте это:

$(document).scroll(function() { // remove "$" 
    var y = $(this).scrollTop();   
    if (y > 100) { 
     $('.scroll_div').fadeIn(); 
    } else { 
     $('.scroll_div').fadeOut(); 
    } 
}); 

Fiddle here.

+0

Только что проверено, не работает для меня в хроме. Просто для любопытства. - @Hiral – Nitesh

+0

@NathanLee: Работает для меня !! –

+2

он работает, но OP не хочет использовать глобальный '' ', который это решение не решает эту проблему. – Phil

Смежные вопросы