亲爱的社区,我问你的帮助,这里是crutch,奇怪的是,内容的模态窗口没有出现,可能超出了框架的范围,本地工作。问题是,如果用户有厨师,如何使我的窗口不显示。我无法弄清楚如何添加if(){}。好像做对了。然而,在添加条件后,在 firebag 中输入错误:未捕获的ReferenceError:未定义getCookieValue
但是这种设计不起作用(身体中的位置):
<script type="text/javascript">
$(document).ready(function() {
var getCookieValue = $.cookie("visit");
if (getCookieValue == true) {
$("a.gallery2").fancybox(
{
"padding" : 20,
"imageScale" : false,
"zoomOpacity" : false,
"zoomSpeedIn" : 1000,
"zoomSpeedOut" : 1000,
"zoomSpeedChange" : 1000,
"frameWidth" : 700,
"frameHeight" : 600,
"overlayShow" : true,
"overlayOpacity" : 0.8,
"hideOnContentClick" :false,
"centerOnScroll" : false
}).click();
}
});
</script>
答案 0 :(得分:1)
如果变量未定义,则脚本将以这种方式写入失败。
试试这个:
<script type="text/javascript">
$(document).ready(function() {
var window.getCookieValue = $.cookie("visit");
if (window.getCookieValue == true) {
$("a.gallery2").fancybox(
{
"padding" : 20,
"imageScale" : false,
"zoomOpacity" : false,
"zoomSpeedIn" : 1000,
"zoomSpeedOut" : 1000,
"zoomSpeedChange" : 1000,
"frameWidth" : 700,
"frameHeight" : 600,
"overlayShow" : true,
"overlayOpacity" : 0.8,
"hideOnContentClick" :false,
"centerOnScroll" : false
}).click();
}
});
</script>
答案 1 :(得分:1)
我不清楚您是否只在Cookie为true
时才显示fancybox。假设只有当cookie值为true
时才显示fancybox,请尝试使用
<script type="text/javascript">
$(document).ready(function() {
// create cookie "visit"
var getCookieValue = $.cookie("visit");
// check if cookie value = true
if (getCookieValue == "true") {
$("a.gallery2").trigger("click");
}
$.cookie("visit", "true", { expires: 7 }); // set the number of days for cookie
$("a.gallery2").fancybox({
// API options here
}); // bind fancybox
});
</script>
在这种情况下,fancybox不会在第一次访问时显示,但总是在第二次访问时显示,而cookie有效。
另一方面,如果fancybox应该在第一次访问时显示 ,请尝试:
<script type="text/javascript">
$(document).ready(function() {
// create cookie "visit"
var getCookieValue = $.cookie("visit");
// check if cookie value = true
if (getCookieValue == "true") {
return false
} else {
$("a.gallery2").trigger("click");
}
$.cookie("visit:, "true", { expires: 7 }); // set the number of days for cookie
$("a.gallery2").fancybox({
// API options here
}); // bind fancybox
});
</script>
在这两个例子中,假设你的代码中有这个html:
<a class="gallery2" href="path/target"></a>
答案 2 :(得分:0)
同事!找到解决方案:
事实证明,与变量 getCookieValue 进行比较不可能,因为变量不是全局,而是一次读取 cookie 在条件下并与条件的值进行比较。
以下是解决方案:
$(document).ready(function() {
$("a.gallery2").fancybox( {
"padding" : 20,
"imageScale" : false,
"zoomOpacity" : false,
"zoomSpeedIn" : 1000,
"zoomSpeedOut" : 1000,
"zoomSpeedChange" : 1000,
"frameWidth" : 700,
"frameHeight" : 600,
"overlayShow" : true,
"overlayOpacity" : 0.8,
"hideOnContentClick" :false,
"centerOnScroll" : false
});
if ($.cookie("visit") == "true") {
$("a.gallery2").fancybox().click();
}
});