2011-04-05 5 views
0

사용자가 jQuery를 통해 서로 다른 두 가지 CSS 모양을 전환 할 수있는 웹 사이트가 있습니다. 사용자가 쿠키를 선택하면 365 일 쿠키를 설정하여 사용자가 선택한 스타일 시트를 기억합니다. 쿠키가 설정되어 있지 않으면 두 스타일 시트 사이에서 무작위 추출 방법을 알아 내려고 노력 중입니다.쿠키가 설정되지 않은 경우 스타일 시트를 무작위로 추출하려고 시도합니다.

다음은 관련 jQuery (코어 및 쿠키 플러그인이 .js 파일의 상위에로드 됨)입니다. 나는 다른 사람에게 무작위로 "움켜 잡기"를해야한다고 생각합니다.

<ul id="designSwap"> 
    <li><a class="dark" href="#" title="Alternate Design #1" rel="/lib/css/common-dark.css"></a></li> 
    <li><a class="light" href="#" title="Default Design" rel="/lib/css/common.css"></a></li> 
    <li>Choose your scheme:</li> 
</ul> 

편집 :

if($.cookie("css")) { 
    $("link").attr("href",$.cookie("css")); 
}else{ 

} 
$(function() { 
    $("#designSwap li a").click(function() { 
     $("link").attr("href",$(this).attr('rel')); 
     $.cookie("css",$(this).attr('rel'), {expires: 365, path: '/'}); 
     var themeColor = 'dark'; 
     updateColor($(this).attr('class')); 
     return false; 
    }); 
}); 

다음은 HTML의 내가 실행하고 여기에 기능이를 가지고 : http://centerline.net를, 사람이 행동 스타일 시트의 교환 및 쿠키 설정을보고 싶어합니다.

+2

두 개의 클래스 이름/스타일 시트 이름을 배열에 저장하고 0에서 1 사이의 임의의 숫자를 선택하고 두 가지 중 하나를 선택하여 스타일을 변경하는 메서드로 전송할 수 있습니다. –

+0

또한 서버 측에서 수행 할 수도 있습니다. –

답변

1

var rand = Math.floor(Math.random()*2) 
if (rand > 0) 
    $("link").attr("href","/lib/css/common-dark.css"); 
else 
    $("link").attr("href","/lib/css/common.css"); 
+0

감사합니다. 그것은 무작위 화를합니다. 이제 다음 요청은 세션을위한 무작위 선택 스틱을 갖는 것입니다. 수명이 짧은 쿠키를 설정하는 것보다 나은 해결책이 있습니까? – Keefer

+0

PHP $ _SESSION 변수 사용 –

관련 문제