我遇到了一个问题,当访问者更改网络语言时,我会尝试发出提醒,警报已创建但已消失,因为这样会更改链接:
?locale=es || ?locale=en || http://localhost:3000/pages/index?locale=en
默认为英文,但按下按钮,提示持续时间为0.5秒并消失。
因为我可以保留警报,直到你删除它?
注意:我使用Ruby On Rails。
我的按钮:
<li><a href="?locale=en" class="glyphicon glyphicon-share-alt" id="AlertEN"> <%= t('menuLen')%></a></li>
代码我的提醒:
<div class="container">
<center>
<div class="alert alert-success" id="successChangeEN" role="alert">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Success!</strong> Your Language is now English.
</div>
</center>
</div>
我的JS:
<script>
bootstrap_alert = function() {}
bootstrap_alert.warning = function(message) {
$('#alert_placeholder').html('<div class="alert alert-success"><a class="close" data-dismiss="alert">×</a><span>'+message+'</span></div>')
}
$('#AlertEN').on('click', function() {
bootstrap_alert.warning('You change the language success!');
});
</script>
我希望回答,谢谢。
答案 0 :(得分:0)
这里有一个使用Cookie http://jsfiddle.net/0Lcofr6x/show/
的示例源代码:http://jsfiddle.net/0Lcofr6x/
由于小提琴不接受虚拟查询字符串但是相信我你导航到同一页面(重新加载),因此Url没有改变。
$( document ).ready(function() {
$('#AlertEN').attr('href', window.location.href);
bootstrap_alert = function() {}
bootstrap_alert.warning = function(message) {
$('#alert_placeholder').html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><span>'+message+'</span></div>');
$('#alert_placeholder .close').unbind( "click" );
$('#alert_placeholder .close').on('click', function() { $('#alert_placeholder').hide();
$('.alert-success').show();
});
}
$('#AlertEN').on('click', function() {
$.cookie("changed_locale", "You change the language success!");
});
$('.alert-success').hide();
if ($.cookie("changed_locale") != null)
{
bootstrap_alert.warning('You change the language success!');
}
$.removeCookie("changed_locale");
});