Проблема в том, что функция run_expire
определяется только внутри функции document.ready()
, поэтому код в теге сценария не может ее найти.
Здесь нет необходимости использовать $(document).ready()
. Лучшее решение было бы просто так:
function run_expire(){
var triggers = $("#pop_member").overlay({
expose: {
color: '#212121',
loadSpeed: 200,
opacity: 0.9
},
closeOnClick: false
});
}
Возможно, вы захотите убедиться, что документ готов перед запуском run_expire
, что вы можете сделать так:
echo '<script type="text/JavaScript">$(run_expire);</script>';
Редактировать
Оглядываясь назад на ваш код, вы обнаружите еще одну проблему. $("#pop_member")
не выберет ссылку, определенную следующим образом:
<a href="" rel="#pop_member">
Если вы хотите, чтобы селектор работал, вам нужно сделать следующее:
<a href="" id="pop_member">
Однако это может быть не то, что вам нужно, потому что вы можете иметь только один элемент на странице с таким же атрибутом id
. Атрибут rel
здесь тоже не совсем подходит. Вы, вероятно, хотите определить его с помощью класса, например:
<a href="" class="pop_member">
с этим селектором:
$(".pop_member")
В качестве альтернативы, если вы действительно хотите выбрать ссылку так, как она написана, вы можете использовать этот селектор:
$("a[rel='#pop_member']")
Редактировать 3
Ваша настоящая проблема была изложена в этом вопросе , заключающемся в том, что библиотека инструментов jQuery не использовалась должным образом. Вам нужно передать api: true
в функцию наложения и вызвать .load()
для возвращаемого значения функции наложения, чтобы наложение отображалось программно при загрузке страницы.