Foundation joyride start only on first load

走远了吗. 提交于 2019-12-18 07:22:05

问题


I'm using Foundation Joyride and every time I load the webpage the tour starts, but how do I only start the tour for the first time the webpage is loaded?

My settings are ...

$(window).load(function() {

    //Foundation Joyride (Tour)
    $("#tour").joyride({
        'cookieMonster': true,
        'cookieName': 'JoyRide',
        'cookieDomain': 'mydomain.co.uk/',
        'postRideCallback' : function () {
            $(this).joyride('destroy');
        },
        cookieMonster: false
    });

});

回答1:


Got it working at last and it turned out to be the order in which the header files were declared.

<html>
<head>              
<script type="text/javascript" src="jquery.js"></script>
<link rel="stylesheet" type="text/css" href="foundation.css">
<script type="text/javascript" src="foundation.min.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript" src="jquery.foundation.joyride.js"></script>      
<script>
    $(window).load(function() {
    $("#tour").joyride({
        cookieMonster: true,
        cookieName: 'JoyRide'
    });
  });
</script>
</head>
<body>
    <ol id="tour">
        <li><p>This is the tour.</p></li>
    </ol>
</body>
</html>



回答2:


You have to use the cookieMonster option se to true, with your domain or false in cookieDomain.

Also remove the cookieMonster: false outside of the parenthesis.

To let joyride use cookies you must include the jQuery.cookie library in your page (https://github.com/carhartl/jquery-cookie)

Here is a sample:

$("#tour").joyride({
    cookieMonster: true,
    cookieName: 'JoyRide',
    cookieDomain: false
});

In this way you'll see the tour only the first time you visit the page (or when you clear the cookies).



来源:https://stackoverflow.com/questions/16916461/foundation-joyride-start-only-on-first-load

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!