这个问题已经有了答案,但我仍然不确定它是如何工作的。
我在footer.php中使用了以下超文本标记语言:
<div id="popup">
<div>
<div id="popup-close">X</div>
<h2>Content Goes Here</h2>
</div>
</div>
和以下Javascript:
$j(document).ready(function() {
$j("#popup").delay(2000).fadeIn();
$j('#popup-close').click(function(e) // You are clicking the close button
{
$j('#popup').fadeOut(); // Now the pop up is hiden.
});
$j('#popup').click(function(e)
{
$j('#popup').fadeOut();
});
});
一切运行良好,但我只想显示弹出每个用户一次(也许使用cookie的事情,所有的论坛帖子),但我不知道如何确切地合并到JS上面。
我知道我将不得不在我的页脚中加载cookie JS,如下所示:
<script type="text/javascript" src="scripts/jquery.cookies.2.2.0.min.js"></script>
但这就是我所理解的,有人能告诉我添加了cookie的JS/jQuery到底应该是什么样子吗?
谢谢
詹姆斯
发布于 2014-06-13 00:40:44
此示例使用jquery-cookie
检查cookie是否存在且未过期-如果其中任何一个失败,则显示弹出窗口并设置cookie (半伪码):
if($.cookie('popup') != 'seen'){
$.cookie('popup', 'seen', { expires: 365, path: '/' }); // Set it to last a year, for example.
$j("#popup").delay(2000).fadeIn();
$j('#popup-close').click(function(e) // You are clicking the close button
{
$j('#popup').fadeOut(); // Now the pop up is hiden.
});
$j('#popup').click(function(e)
{
$j('#popup').fadeOut();
});
};
发布于 2014-06-13 00:36:29
你可以使用php来解决这个问题。您只需在加载第一个页面时回显弹出窗口的代码。
另一种方式...就是设置一个cookie,它基本上是一个位于浏览器中的文件,包含某种类型的数据。在第一个页面加载时,您将创建一个cookie。然后,在此之后的每一页,您都会检查是否设置了cookie。如果已设置,请不要显示弹出窗口。但是,如果未设置,请设置cookie并显示弹出窗口。
伪代码:
if(cookie_is_not_set) {
show_pop_up;
set_cookie;
}
发布于 2016-03-21 03:56:26
为使用Ionic的人提供一个快速的答案。我只需要显示一次工具提示,所以我使用$localStorage来实现这一点。这是用来播放曲目的,所以当他们按下play时,它会显示一次工具提示。
$scope.storage = $localStorage; //connects an object to $localstorage
$scope.storage.hasSeenPopup = "false"; // they haven't seen it
$scope.showPopup = function() { // popup to tell people to turn sound on
$scope.data = {}
// An elaborate, custom popup
var myPopup = $ionicPopup.show({
template: '<p class="popuptext">Turn Sound On!</p>',
cssClass: 'popup'
});
$timeout(function() {
myPopup.close(); //close the popup after 3 seconds for some reason
}, 2000);
$scope.storage.hasSeenPopup = "true"; // they've now seen it
};
$scope.playStream = function(show) {
PlayerService.play(show);
$scope.audioObject = audioObject; // this allow for styling the play/pause icons
if ($scope.storage.hasSeenPopup === "false"){ //only show if they haven't seen it.
$scope.showPopup();
}
}
https://stackoverflow.com/questions/24189428
复制相似问题