2016-09-15 1 views
0

Привет У меня есть код, который заставляет меня привязываться к загрузке страницы.Перейти к привязке при загрузке страницы в зависимости от кликаемой ссылки

Что делать, если у меня есть меню, где ссылки - разные анкеры. Когда я нажимаю link1, он загружает страницу и возвращает меня в anchor1, и когда я нажимаю link2, он переводит меня на ту же страницу, но на anchor2?

$(function(){ 
    $('html, body').animate({ 
     scrollTop: $('.anchor1').offset().top 
    }, 1000); 
    return false; 
}); 
+0

положить условие, основанное на ссылке – Ish

ответ

1

Это похоже на передаточное значение с одной страницы, содержащей ссылки меню на другую страницу с якорями с использованием javascript.

Существует множество способов сделать это одним из них, используя куки. Пусть у вас есть выпадающий на странице меню, из которого вы передаете значение якоря

<select id="menuselect"> 
    <option value=".anchor1"> Anchor1 </option> 
    <option value=".anchor2"> Anchor2 </option> 
    <option value=".anchor3"> Anchor3 </option> 
</select> 

Сейчас в Menupage расслоение плотной

$(#menuselect).change(function(){ 
    //Store value of anchor class to passed to next page from option sel;ected in menu dropdow in cookie 
    $.cookie('anchorclass',$(this).val()); 

    $(window).load('AnchorPage.htm'); // Go to page containing anchors 
}); 

Сейчас на якорной странице вы можете проверить значение хранится в куки и использовать свой кода, чтобы получить этот якорь при загрузке страницы.

AnchorPage.htm 

$(document).ready(function(){ 
    var classofAnchor = '.anchor1'; //Set default target anchor class 
    if($.cookie('anchorclass') ! = null) 
    { 
    classofAnchor = $.cookie('anchorclass'); // Fetch value from cookie 
    } 
    $('html, body').animate({ 
     scrollTop: $(classofAnchor).offset().top 
    }, 1000); 
}); 
Смежные вопросы