У меня есть ярлык рядом с флажком для принятия условий и условий. На данный момент есть простой
<a href="/termns.php">Terms</a>
где пользователь может прочитать термины.
Более удобно было бы использовать jQuery для добавления выделенного окна на той же странице.
Чтобы предоставить дополнительную информацию, я использую сайт с несколькими языками. Фактически, можно было бы создать один Файл со всем текстом в каждой языковой версии, но этот файл был бы довольно запутанным.
Вот почему я сделал обходной путь к этой проблеме и использовал шаблоны для получения правильной версии. В отношении настройки сеанса будет перенаправлен в правый каталог. Таким образом, основной текстовый файл помещается в /language/terms.php
где шаблон будет включен один раз.
Теперь я играл и нашел что-то вроде этого:
JQuery:
$(document).ready(function(){
$('#popup_terms').click(function(){
$("#screen").css({
"display": "block",
"width": $(document).width(),
"height": $(document).height(),
opacity: .7,
});
$("#screen-box").css({
"display": "block",
});
return false;
});
});
HTML:
<label for ="tandc"><?php echo $signup_tac;?></label>
<div id="screen"></div>
<div id="screen-box">
<?php include_once "../$language/popup_$filename.php";?>
</div>
CSS:
#screen{
position: fixed;
z-index: 100;
display: none;
border: none;
background: black;
top: 0;
left: 0;
}
#screen-box{
position: fixed;
z-index: 500;
display: none;
height: 400px;
padding: 50px;
width: 600px;
top: 50px;
left: 25%;
overflow: scroll;
}
Это кажется неправильным, потому что, если взглянуть на исходный код, текст из этих понятий будет видимым, о чем я не задумываюсь.
Итак, каков был бы "правильный" способ справиться с этой проблемой?
Вы можете попробовать ajax или iframe, если вам не нужен исходный код на вашей странице сразу.
Предполагая, что путь.. /$language/popup_$filename.php доступен браузеру пользователя, следующие решения.
Способ iframe
<label for ="tandc"><?php echo $signup_tac;?></label>
<div id="screen"></div>
<div id="screen-box">
<iframe src="<?php echo "../$language/popup_$filename.php"?>"></iframe>
</div>
Способ AJAX
HTML:
<label for ="tandc"><?php echo $signup_tac;?></label>
<div id="screen"></div>
<div id="screen-box"></div>
<script>window.termsUrl = '<?php echo "../$language/popup_$filename.php"?>';</script>
Javascript:
$(document).ready(function(){
$('#popup_terms').click(function(){
$("#screen-box").load(window.termsUrl, function(){
$("#screen").css({
"display": "block",
"width": $(document).width(),
"height": $(document).height(),
opacity: .7,
});
$("#screen-box").css({
"display": "block",
});
});
return false;
});
});
var termsUrl = '<?php echo "../$language/popup_$filename.php"?>';
похоже, что он не генерирует скрипт php, поэтому он не работает с этим, но при добавлении URL-адреса вручную он работает и будет правильно извлекать файл.
Я рекомендую использовать плагин JQuery UI Dialog или что-то вроде FancyBox. Экономит время и головные боли. Эти плагины загружают контент с помощью AJAX, поэтому вам не нужно будет включать контент в первую папку, что может быть проблемой, если вы хотите использовать больше таких ящиков.
почему вы не используете диалог jquery ui. вам просто нужно установить контейнер и связать его с диалогом, тогда вам просто нужно вызвать методы open или close, используя jquery.