简体   繁体   中英

Display id attribute in header

I have this page:

http://i.stack.imgur.com/AfPWJ.jpg

http://jsfiddle.net/fLGQJ/

I want to capture on which div I am while I'm scrolling. in header by displaying id attribute in header

Something like:

var a =   // the topmost div
( $(document).scrollTop() > $(a).position().top) {    
    console.log($(a).attr('id'))
}

I am looking to display id attribute of the div in header

Can I achieve that without a plugin, simply 2-3 lines? or even a plugin if any

this is the html example

  <div class="vs" id="Genesis 1:1">
    &nbsp;1 In the <a href="GenesisRef.html#Genesis%201">a</a>beginning <a href="GenesisRef.html#Genesis%202">b</a>God created the heaven and the earth.
  </div>

  <div class="vs" id="Genesis 1:2">
    &nbsp;2 And the earth was without form, and void; and darkness was upon the face of the deep. <a href="GenesisRef.html#Genesis%203">c</a>And the Spirit of God moved upon the face of the waters.
  </div>

  <div class="vs" id="Genesis 1:3">
    &nbsp;3 <a href="GenesisRef.html#Genesis%204">d</a>And God said, <a href="GenesisRef.html#Genesis%205">e</a>Let there be light: and there was light.
  </div>

  <div class="vs" id="Genesis 1:4">
    &nbsp;4 And God saw the light, that it was good: and God divided the light from the darkness.
  </div>

  <div class="vs" id="Genesis 1:5">
    &nbsp;5 And God called the light <a href="GenesisRef.html#Genesis%206">f</a>Day, and the darkness he called Night. And the evening and the morning were the first day.
  </div>

  <div class="vs" id="Genesis 1:6">

    &nbsp;6 And God said, <a href="GenesisRef.html#Genesis%207">g</a>Let there be a firmament in the midst of the waters, and let it divide the waters from the waters.
  </div>

  <div class="vs" id="Genesis 1:7">
    &nbsp;7 And God made the firmament, <a href="GenesisRef.html#Genesis%208">h</a>and divided the waters which were under the firmament from the waters which were <a href="GenesisRef.html#Genesis%209">i</a>above the firmament: and it was so.
  </div>

  <div class="vs" id="Genesis 1:8">

    &nbsp;8 And God called the firmament Heaven. And the evening and the morning were the second day.
  </div>

  <div class="vs" id="Genesis 1:9">
    &nbsp;9 And God said, <a href="GenesisRef.html#Genesis%2010">j</a>Let the waters under the heaven be gathered together unto one place, and let the dry land appear: and it was so.
  </div>

  <div class="vs" id="Genesis 1:10">
    &nbsp;10 And God called the dry land Earth; and the gathering together of the waters called he Seas: and God saw that it was good.
  </div>

for example if div 5 is at the top then Genesis 1:5 should be displayed

I think you might be looking for

a.appendTo("#Header-Div");

which would go after your other coding. and just replace header-div for whatever the id is of the box you want it to go into.

How about this:

if( $(document).scrollTop() > $(a).position().top) {    
$("#header").html(a.attr('id'));
}
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.js" type="text/javascript"></script>
<script type="text/javascript">
    $(window).scroll(function() {

        var winTop = $(this).scrollTop();
        var divs = $('div');

        var top = $.grep(divs, function(item) {
            return $(item).position().top <= winTop;
        });


        //var id=$(top).first().attr('id');
        var ll=$(top);



    $(top).each(function(i, item) {
    var total=ll.length-1;

    if(total==i)
    {
    $("#finalvalue1").empty();
 document.title=$(item).attr("id");
}
});



    });

this code worked for me thanks everyone for help :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM