Как динамически изменять содержимое страницы при загрузке

Моя проблема заключается в выполнении функции при загрузке новой страницы. У меня есть две страницы (index.html и location_page.html). В первом есть список меток. Когда пользователь щелкает по одному элементу этого списка, он перенаправляется на вторую страницу, которая должна динамически загружать связанную информацию. Я пытался использовать функцию ready но это не работает Вот мой код JQuery

$("#location_title").ready(function(e){
    console.log("executing the function");
});

а вот и HTML

<div class="location_info">
    <div class="location_text">
    <div id="location_title"></div>
        <div id="location_description"></div>
    </div>
    <div class="location_img"><img src="./img/strutture01.jpg" class="location_image"/></div>           
     </div>  

На первой странице также есть такой метод (я вызываю готовую функцию), и он работает, но на второй странице он не работает.

3 ответа

Решение

Передайте строку запроса, говорящую location_page.html?info=1

Используйте эту функцию, чтобы получить значение строки запроса,

function getParameterByName(name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(window.location.search);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

Итак, когда документ готов, вызовите функцию

$(document).ready(function(){  
    value = getParameterByName("info");
    if (value == '1')
    {
        $("#location_title").show();
        // Do your stuff
    }
    console.log("executing the function");  
});

getParameterByName() функция взята из Get значения строки запроса в JavaScript

ОБНОВИТЬ:

Замени это

$("#location_title").ready(function(e){   

с

$(document).ready(function(){

Для этого вам понадобится простой самозапускающийся аноним:

(function() {
    $("#location_title").ready(function(e){
        console.log("executing the function");
    });
})();

Попробуйте использовать HTML onLoad атрибут в HTML <body> тег и от этого вызовите вашу функцию в Javascript..

то есть я Javascript;

function doSomeThing(){ /*your code*/ }

и в HTML;

<body onload='doSomething()'>
   <!-- your html body -->
</body>

Надеюсь, поможет:-)

Другие вопросы по тегам