我想切换页面语言。
<?php
session_start();
header('Cache-control: private'); // IE 6 FIX
if(isSet($_GET['lang'])) {
$lang = $_GET['lang'];
// register the session and set the cookie
$_SESSION['lang'] = $lang;
setcookie("lang", $lang, time() + (3600 * 24 * 30));
} else if(isSet($_SESSION['lang'])) {
$lang = $_SESSION['lang'];
} else if(isSet($_COOKIE['lang'])) {
$lang = $_COOKIE['lang'];
} else {
$lang = 'en';
}
switch ($lang) {
case 'en':
$lang_file = 'lang.en.php';
break;
case 'de':
$lang_file = 'lang.de.php';
break;
default:
$lang_file = 'lang.de.php';
}
include_once 'languages/' . $lang_file;
?>
如果我点击例如"English"…
<a href="index.php?lang=en">English</a>
<a href="index.php?lang=de">German</a>
…我的英文页面是这样加载的:
www.mypage.php?lang=en
我的问题是:当我向下滚动页面,然后点击另一种语言,页面加载在顶部的位置。但我希望页面保持在滚动位置。(实际上,当我只是刷新页面,然后我的页面保持在滚动位置)
您可以使用像这样的唯一id在span中使用英语和德语
<a href="index.php?lang=en#unique_id_for_english"><span id="unique_id_for_english">English<span></a>
<a href="index.php?lang=de#unique_id_for_german"><span id="unique_id_for_german">German<span></a>
你必须使用
event.preventDefault();
在你的a标签上,这样它将停止默认的重新加载,导致页面刷新到顶部。
例如$('a').click(function () {
event.preventDefault();
});