mercredi 5 octobre 2016

Linking to a certain position of another page

Vote count: 0

I have a mainpage called index.html with a menu linking to certain positions (parts) on this mainpage. This is done via the variable 'data-slide' (see below) that is behind the 'buttons' in the menu. This works well on the mainpage. However, how can I do this when I'm on another html page than the mainpage, jumping to a certain position (part) of the mainpage?

    <div id="nav" class="right">
        <ul class="navigation">
            <li data-slide="1">Home</li>
            <li data-slide="2">Products</li>
            <li data-slide="4">Trade fairs</li>
            <li data-slide="6">Company</li>
            <li data-slide="8">Careers</li>
            <li data-slide="10">Contact</li>
            <li class="clear"></li>
        </ul>
    </div>

Javascript:

var links = $('.navigation').find('li');
slide = $('.slide');
button = $('.button');
mywindow = $(window);
htmlbody = $('html,body');

slide.waypoint(function (event, direction) {

    dataslide = $(this).attr('data-slide');

    if (direction === 'down') {
        $('.navigation li[data-slide="' + dataslide + '"]').addClass('active').prev().removeClass('active');
        $('.navigation li[data-slide="1"]').removeClass('active');
    }
    else {
        $('.navigation li[data-slide="' + dataslide + '"]').addClass('active').next().removeClass('active');
    }
});

mywindow.scroll(function () {
    if (mywindow.scrollTop() == 0) {
        $('.navigation li[data-slide="1"]').addClass('active');
        $('.navigation li[data-slide="2"]').removeClass('active');
    }
});

function goToByScroll(dataslide) {
    var goal = $('.slide[data-slide="' + dataslide + '"]').offset().top;
    if (mywindow.scrollTop()<goal) {
        var goalPx = goal + 1;
    } else {
        var goalPx = goal - 1;
    }
    htmlbody.animate({
        scrollTop: goalPx
    }, 2500, 'easeInOutQuint');
}

links.click(function (e) {
    e.preventDefault();
    dataslide = $(this).attr('data-slide');
    goToByScroll(dataslide);
});

button.click(function (e) {
    e.preventDefault();
    dataslide = $(this).attr('data-slide');
    goToByScroll(dataslide);

});

asked 25 secs ago

Let's block ads! (Why?)



Linking to a certain position of another page

Aucun commentaire:

Enregistrer un commentaire