2013-06-08 1 views
0

내 사이트의 홈페이지를 시작하기 전에 팝업을 표시하는 데 문제가 있습니다. 가장 먼저 표시 할 사이트 팝업 목록이 팝업으로 표시됩니다 (en, FR, ES, ...) 그래서 같은 홈 페이지에 저를 직접 리디렉션 언어 chosing 후 :가 홈페이지를로드하기 전에 팝업을 표시합니다.

mysite.com?lang=es 

누군가가 비슷한 코드 또는 예에 대한 아이디어를 가질 수 있습니까?

+0

를 참조하십시오, 당신은 대신'iframe'의'오버레이 element' (HTML)를 사용 할 수 있습니다 –

+0

매우 초보자입니다. 코드 나 링크, 예제 또는 자습서를 통해 직접 답변 해 주시겠습니까? – Nll

답변

1

모달 상자를 사용하는 것이 좋습니다.

나는이 몇 가지 요소 fancybox 사용합니다 : jQuery를, fancybox의 JS 및 CSS 파일

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js"></script> 
<link rel="stylesheet" href="/fancybox/source/jquery.fancybox.css" type="text/css" media="screen" /> 

...이 간단한 (숨겨진) HTML :

<div id="language" style="display: none"> 
    <p>Please choose your language</p> 
    <a href="javascript:;" class="en">English</a> 
    <a href="javascript:;" class="es">Spanish</a> 
    <a href="javascript:;" class="fr">French</a> 
    ... etc. 
</div> 

... 그리고이 스크립트를

jQuery(document).ready(function ($) { 
    if (!window.location.href.match(/\?lang/i)) { 
     $.fancybox("#language", { 
      modal: true, 
      afterShow: function() { 
       $("#language a").on("click", function (event) { 
        var lang = $(event.target).attr('class'); 
        console.log($(event.target).html()); // if you need the full language name 
        window.location.href = "http://jsfiddle.net/Xbr8t/1/show/?lang=" + lang + ""; // use your own domain/site 
        $.fancybox.close(); 
       }); 
      } 
     }); 
    } 
}); 

URL이 이미 접미사가있는 경우 ?lang=xx 다음 모달가 표시되지 않습니다 쪽으로.

예를 들어,이 URL http://jsfiddle.net/Xbr8t/1/show/?lang=es을 시도하고 모달 창이 팝업되지 않습니다. 그러면 언어를 묻는 http://jsfiddle.net/Xbr8t/1/show/이 하나를 선택한 후 URL 리디렉션을 참조하십시오.

인해 실제로 사용`event` 클릭없이 iframes``의 거의 표준 블록에 코드 here

+0

Tnks JFK 좋은 직장 – Nll

관련 문제