2016-10-05 13 views
0

私はこのメインページ上の特定の位置(部分)にリンクしているメニューでindex.htmlと呼ばれるメインページを持っています。これは、メニューの 'ボタン'の後ろにある変数 'data-slide'(下記参照)を介して行われます。これはメインページでうまくいきます。しかし、メインページ以外のHTMLページを開いて、メインページの特定の位置(一部)にジャンプしているときに、どうすればいいですか?別のページの特定の位置にリンクする

<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); 

}); 
+0

あなただけではなく、手動で "トリガー" の適切なリンクやボタンのイベントをクリックすることができますか? http://api.jquery.com/trigger/ – lps

+2

これは役立ちますhttp://stackoverflow.com/questions/21600425/navigate-to-anchor-on-another-page –

答えて

0
window.setTimeout(function(){ 
    if(window.location.hash){ 
     var $target = $(window.location.hash).closest("#bgaboutbody"); 
     if($target.length) 
      $('html, body').animate({scrollTop: $target.offset().top}, 1000); 
    } 
}, 100); 

このリンクを試してください: - anchor linking to a certain position of the page

+0

申し訳ありませんが、あなたのヒントを少し説明できますか?もっと? – Cappa

関連する問題