我在页面上有一组元素,其中包含 id。
客户端希望能够有一个滚动条,在您每次滚动到它时将 id 附加到 url 的末尾。
下面是标记:
HTML:
<section class="body-large scrolled" id="drop-in-membership">
</section>
<section class="body-large scrolled" id="hotdesk-membership">
</section>
<section class="body-large scrolled" id="resident-membership">
</section>
<section class="body-large scrolled" id="studios">
</section>
JS:
$(window).scroll(function() {
var winTop = $(this).scrollTop();
var $scrolledDivs = $('.scrolled');
$.each($scrolledDivs, function(item) {
if( $(item).offset().top == winTop ) {
//console.log( this.attr('id') );
window.location.href + scrolledDivs.attr('id');
}
});
});
似乎没有任何效果。
谁能指出我正确的方向?
最佳答案
我相信这就是您正在寻找的东西:
function CheckScroll(el) {
var top_of_object = el.offset().top;
var bottom_of_window = $('.window').height();
if (bottom_of_window >= top_of_object) {
$('#result').text('ID ("'+el.attr('id')+'") is now showing');
}
}
$('.window').scroll(function(){
$('section').each(function() {
CheckScroll($(this));
});
});
编辑:
对于窗口滚动: http://jsfiddle.net/bfd7w/3/
function CheckScroll(el) {
var top_of_object = el.offset().top;
var bottom_of_window = $(window).scrollTop() + $(window).height();
if (bottom_of_window >= top_of_object) {
$('#result').text('ID ("'+el.attr('id')+'") is now showing');
}
}
$(window).scroll(function(){
$('section').each(function() {
CheckScroll($(this));
});
});
关于javascript - 当我滚动到它时,如何将元素的 id 传递给 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23362640/