Как динамически изменять содержимое страницы при загрузке
Моя проблема заключается в выполнении функции при загрузке новой страницы. У меня есть две страницы (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>
Надеюсь, поможет:-)