чтобы достичь (т.е. показать) определенный div, используя «href» с другой страницы

Есть страница A с 3 div (учитывайте). также у меня есть ссылка на другой странице. когда пользователи нажимают на ссылку, они должны перейти к 3-му div на странице A. Как это сделать?

В моем коде все div скрыты, кроме того, который выбран в это время. так что нет необходимости прокручивать.

Демо

HTML:(СтраницаA.html)

    <div id="mws-navigation">
        <ul id="link">
            <li class="" data-related="a" id="a1"><a href="#a"><i class="icon-book"></i>A</a></li>
            <li data-related="b" class="" id="b1"><a href="#b"><i class="icon-search"></i>B</a></li>
          <li data-related="c" class="" id="c1"><a href="#c"><i class="icon-calendar"></i>C</a></li>    
        </ul>
    </div>         
<!-- Main Container Start -->
<div id="mws-container" class="clearfix">
    <!-- Inner Container Start -->
        <div id="a" class="tab">
            aaaa
        </div>
        <div id="b" class="tab"> 
            bbbb
        </div>
        <div id="c" class="tab"> 
           cccc
        </div>
</div>

страница B.html:

<a href="PageA.html#c">vvv</a>// this link will be in other page(to reach C)

// что я должен указать в herf="" для достижения этого конкретного div

JQuery:

$(function()
    {

            $('#link li').removeClass('actif');
            $(this).find('li').addClass('actif');
            $('.tab').hide();
            $('#a').show();
            document.getElementById('a1').className='active';
            $('#link li').click(function(e){
            $('#link li').removeClass('actif');
            $(this).find('li').addClass('actif');
            $('.tab').hide();
            $('#'+$(this).attr('data-related')).show();
            e.preventDefault();
});
    });

Любое предложение?


person user3784251    schedule 21.02.2015    source источник
comment
Я думаю, вы могли бы использовать привязку html или определить положение div, а затем прокрутить экран до нужной позиции.   -  person Marcelo Bezerra bovino    schedule 21.02.2015
comment
@MarceloBezerra Мне не нужна прокрутка. Когда я нажимаю на div, отображается только конкретный div, все остальные скрыты. Итак, с другой страницы, если я щелкну ссылку (используя href), она должна показать только тот конкретный div, который я запросил, все остальные должны быть скрыты. например, <a href='PageA.html#c'> он должен показывать только div c все остальные должны быть скрыты.   -  person user3784251    schedule 21.02.2015
comment
это может помочь вам возможно   -  person Bhargav Modi    schedule 21.02.2015


Ответы (2)


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

На странице B добавьте параметр в вашу строку запроса в ваших hrefs следующим образом:

<a href="PageA.html?showdiv=c">vvv</a>

Если у вас есть доступ на стороне сервера - java, php или что-то в этом роде, я бы предложил использовать его для обработки строки запроса и добавления класса в ваш div на странице A.

<div id="c" class="tab showAndFocus"> cccc</div>

var myElementToShow = $(".showAndFocus");
myElementToShow.show();
myElementToShow.focus();

ИЛИ

Однако, если у вас есть только jquery/javascript для этого (т.е. нет серверной части, которая поможет вам работать со строкой запроса), вы можете получить доступ к параметрам строки запроса, как обсуждалось здесь

var urlParams;
(window.onpopstate = function () {
    var match,
       pl     = /\+/g,  // Regex for replacing addition symbol with a space
       search = /([^&=]+)=?([^&]*)/g,
       decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
       query  = window.location.search.substring(1);

       urlParams = {};
       while (match = search.exec(query))
           urlParams[decode(match[1])] = decode(match[2]);
})();

Когда у вас есть строка запроса, вы можете легко получить div, который хотите показать...

var myElementToShow = $("#"+urlParams.showdiv);
myElementToShow.show();
myElementToShow.focus();
person kasdega    schedule 21.02.2015

Вы можете прочитать location.hash при загрузке страницы - в вашей функции загрузки jQuery ($)

person woodglue    schedule 21.02.2015