2013-02-25 2 views
0

내 워드 프레스의 어느 페이지에서나 팝업창이 나오는 팬시 박스가 있습니다. 사용자가 제공된 입력에 무엇인가를 제출했거나 사용할 수 없도록 설정 한 후에 사용할 수 없도록 설정하려고합니다. 사용자가 우회 링크를 클릭하면 주어진 시간 동안 표시됩니다. 이 사이트에서 발견 된 몇 가지 스크립트를 시도했지만 아무 것도 작동하지 않는 것처럼 보입니다. 현재 여기에 설정된 스크립트가 있습니다.쿠키로 팬시 박스 팝업 사용 안함

function openFancybox() { 
     setTimeout(function() {$('.pop').trigger('click'); },20000); 
    } 
    $(document).ready(function() { 
     var visited = $.cookie('visited'); 
     if (visited == 'yes') { 
      return false; 
     } else { 
      openFancybox(); 
     } 
     $.cookie('visited', 'yes', { expires: 7 }); 
     $('.pop').fancybox(); 
    }); 
+0

왜 두 가지 문서 준비 기능이 있습니까? 또한 firebug/웹 개발자 도구를 사용하여 다양한 주에서 쿠키의 가치를 확인 했습니까? – Brad

+0

저는 JavaScript에 매우 익숙합니다. 저는 디자이너에게이 물건을 가르치려고합니다. –

+0

필자는 관련 코드 만 포함 할 것을 제안합니다. 13 번 줄 아래의 모든 내용은 적합하지 않습니다. – dev

답변

1

도움이되는지 아래를 참조하십시오.

openFancybox = function{ 
    setTimeout(function() {$('.pop').trigger('click'); },20000); 
} 

$(document).ready(function() { 
    //Declare your cookie. 
    $.cookie('visited','no', { expires: 7 }); 

    //Test to see if your cookie equals 'no', if true then run the fancy box. 
    if ($.cookie('visited') == 'no') { 
      openFancybox(); 
    } 

    //Your Input or click to stop the fancy box 
    $('#StopFancyBox').on('click',function(){ 
     $.cookie('visited', 'yes'); 
    }); 
}); 

@Brad는 웹 개발자 도구를 사용하여 쿠키 값이 단계별로 무엇인지 확인합니다. 단순히 web.console로 이동

jquery.cookie.jsGET http://www.coreytegeler.com/bolivares/wp-content/themes/max-magazine/source/cookies/jquery.cookie.js 404 (Not Found) 

는 위의 jquery.cookie.js 파일이 올바른 위치를 참조하지 않기 때문에 것으로 보인다 $.cookie('visited')

에러 다시 전화.

/bolivares/:72SyntaxError: Expected token '(' 

위의 내용은 실제로 내 잘못입니다. :) 죄송합니다. openFancybox 함수를 선언 할 때()를 놓쳤습니다. 따라서 openFancybox = function(){이어야합니다.

jquery-plugins.min.js:13TypeError: 'undefined' is not an object (evaluating 'e.browser.msie') 
superfish.js:123TypeError: 'undefined' is not a function (evaluating 'jQuery('ul.nav').superfish()') 
woocommerce.min.js:1TypeError: 'undefined' is not a function (evaluating 'e(".plus").live') 

위 JQuery와-plugins.min.js 플러그인 superfish.js 충돌하고 각각 woocommerce.min.js. 나는 이것에 관해 많은 안내를하지 못해 죄송합니다.

/bolivares/:259ReferenceError: Can't find variable: myLoop 

메인 HTML 페이지의 259 행에 myLoop (i)이 다시 호출됩니다. 그러나 모든 스크립트를 검색하면 어디에도 선언되지 않습니다.

+0

각로드마다 계속 팝업 됨 http://www.coreytegeler.com/bolivares/ 여기에서 볼 수 있습니다. –

+0

사이트를 살펴보면 ** 많은 오류 **가 발생했습니다. 우리가 멋진 상자에 도착하기 전에도 쿠키는 첫 번째 인스턴스에서 생성되지 않습니다. 나는 모든 오류로 내 대답을 편집했습니다. 나는이 모든 오류를 바로 잡기를 강력하게 제안 할 것이고 쿠키가 작동 할 가능성이 높습니다. – dev

+0

하하, 그래, 고마워, 그게 무슨 뜻인지 모르겠지만 그걸 들여다 볼게. 아마추어 인 것에 대해 유감스럽게 생각하지만 도움을 주셔서 감사합니다! –

1

예 당신은 당신이해야 할 모든이 fancybox 몇 시간 후에 나타나고 당신이를 변경할 수 있습니다 원하는 경우,이

<script type="text/javascript"> 
function openFancybox() { 
    setTimeout(function() {$('#fancybox-manual-b').trigger('click'); },5000); 
} 
$(document).ready(function() { 
    var visited = $.cookie('visited'); 
    $.cookie('visited', 'yes', { expires: 7 }); /*write this first*/ 
    if (visited == 'yes') { 
     function callback(a){ 
       return function(){ 
       alert("Hello " + a); 
            } 
            } 
       var a = "world"; 
       setTimeout(callback(a), 2000); /*let the page load first*/ 
       a = "subscriber"; 
    } else { 
     openFancybox(); 
    } 
    $('#fancybox-manual-b').fancybox(); 
}); 
</script> 

같은 프로그램을 작성하도록에서는 setTimeout 값을 만드는 것입니다 완벽하게 편집 할 수 있습니다

if (visited == 'yes') { 
     function callback(a){ 
       return function(){ 
       alert("Hello " + a); 
            } 
            } 
       var a = "world"; 
       setTimeout(callback(a), 2000); 
       a = "idiotteen"; 
    } 

if (visited == 'yes') { 
return false; 
} 
에 (I 쿠키가 제대로 여부를 작동하는지 확인하려면이 쓴)

이것이 도움이되었는지 알려주십시오.