我有一个问题要在启动我的网站的主页之前显示一个弹出窗口,这个想法是首先要显示的是一个带有网站语言列表的弹出窗口(en,fr,es,......)所以之后选择将我直接重定向到主页的语言:
mysite.com?lang=es
有人可以对类似的代码或示例有所了解吗?
我有一个问题要在启动我的网站的主页之前显示一个弹出窗口,这个想法是首先要显示的是一个带有网站语言列表的弹出窗口(en,fr,es,......)所以之后选择将我直接重定向到主页的语言:
mysite.com?lang=es
有人可以对类似的代码或示例有所了解吗?
使用模态框听起来是个好主意。
我会在这几个元素中使用fancybox :jQuery、fancybox js 和 css 文件
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js"></script>
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css" type="text/css" media="screen" />
...这个简单的(隐藏的)html:
<div id="language" style="display: none">
<p>Please choose your language</p>
<a href="javascript:;" class="en">English</a>
<a href="javascript:;" class="es">Spanish</a>
<a href="javascript:;" class="fr">French</a>
... etc.
</div>
...和这个脚本
jQuery(document).ready(function ($) {
if (!window.location.href.match(/\?lang/i)) {
$.fancybox("#language", {
modal: true,
afterShow: function () {
$("#language a").on("click", function (event) {
var lang = $(event.target).attr('class');
console.log($(event.target).html()); // if you need the full language name
window.location.href = "http://jsfiddle.net/Xbr8t/1/show/?lang=" + lang + ""; // use your own domain/site
$.fancybox.close();
});
}
});
}
});
如果 URL 已经有后缀?lang=xx
,那么模态将不会显示。
例如,尝试这个 URL http://jsfiddle.net/Xbr8t/1/show/?lang=es并且不会弹出模式窗口。然后这个http://jsfiddle.net/Xbr8t/1/show/将询问语言...选择一个后,请参阅 URL 重定向。
请参阅此处的代码