如何在页面加载时自动打开 PrettyPhoto 灯箱?
我对 Jquery 很陌生,我发现了几个使用 cookie 和 onload 功能打开灯箱的示例。我正在使用与 fancybox 一起使用的 cookie 示例,但我一直在我的所有网站上使用 PrettyPhoto,并且真的不想更改为 fancybox。我尝试了十几种不同的方法来让它发挥作用,但我没有运气。这是我的代码。任何帮助或建议都会很棒。
$(document).ready(function(){
// !!! SEE THIS PLEASE !!!
// delete this line to make the modal box load only ONCE
// if you let it set to 'false' it will show every time .. set it to 'true' and it will never show
$.cookie("modal", 'false')
/**
* MODAL BOX
*/
// if the requested cookie does not have the value I am looking for show the modal box
if($.cookie("modal") != 'true')
{
alert("sometext");
var where = "http://images.motortrend.com/photo_gallery/112_0611_39z+2006_bugatti_veyron+interior.jpg"; var 标题 = ""; var 注释 = "";
函数showLbox(){ $.prettyPhoto.open(其中,标题,评论); } // 在页面加载时显示模式框 // 有关选项的更多信息,您可以在 fancybox 网站上找到
// in the message is a link with the id "modal_close"
// when you click on that link the modal will close and the cookie is set to "true"
// path "/" means it's active for the entire root site.. if you set it to "/admin" will be active on the "admin" folder
// expires in 7 days
// "modal" is the name i gave the cookie.. you can name it anything you want
$('#modal_close').live('click', function(e) {
e.preventDefault();
$.cookie("modal", "true", { path: '/', expires: 7 });
});
}
});
I am really new to Jquery and I have found several examples of opening a light box using cookies and the the onload feature. I am using the cookie example which works with fancybox, but I have been using prettyPhoto on all my sites and really do not want to change to fancybox. I have tried a dozen different ways to get this to work but I have no luck. Here is my code. Any help or suggestions would be great.
$(document).ready(function(){
// !!! SEE THIS PLEASE !!!
// delete this line to make the modal box load only ONCE
// if you let it set to 'false' it will show every time .. set it to 'true' and it will never show
$.cookie("modal", 'false')
/**
* MODAL BOX
*/
// if the requested cookie does not have the value I am looking for show the modal box
if($.cookie("modal") != 'true')
{
alert("sometext");
var where = "http://images.motortrend.com/photo_gallery/112_0611_39z+2006_bugatti_veyron+interior.jpg";
var title = "";
var comment = "";
function showLbox(){
$.prettyPhoto.open(where, title, comment);
}
// on page load show the modal box
// more info about the options you can find on the fancybox site
// in the message is a link with the id "modal_close"
// when you click on that link the modal will close and the cookie is set to "true"
// path "/" means it's active for the entire root site.. if you set it to "/admin" will be active on the "admin" folder
// expires in 7 days
// "modal" is the name i gave the cookie.. you can name it anything you want
$('#modal_close').live('click', function(e) {
e.preventDefault();
$.cookie("modal", "true", { path: '/', expires: 7 });
});
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
页面加载完成后,您必须调用 S.prettyPhoto.open API 函数。我把它放在 $(document).ready(function() 函数下:
changepicturecallback 给了我一个“_bsap 未定义”错误(在 firebug 中看到),所以我将其注释掉。
这是我用于测试的剪贴页面:
http://www.fortmitchellwalmart.com/prettyPhotoTest/index.html
我不知道如何使用 cookie 布尔值禁用它,我对 javascript 和 flash 非常菜鸟,但希望这会有所帮助!
You will have to call the S.prettyPhoto.open API function after the page is done loading. I put it under the $(document).ready(function() function:
changepicturecallback was giving me a "_bsap is not defined" error (seen in firebug) so i commented it out.
Here's the scrap page I was using for testing:
http://www.fortmitchellwalmart.com/prettyPhotoTest/index.html
I don't know how to disable it with the cookie boolean, I'm pretty much a noob with javascripting and flash, but hope this helps!