2011-04-21 5 views
3

새로 고침시 대체 이미지 this web page의 배경 이미지를 만들고 싶습니다.새로 고침시 전체 화면 배경 변경을 어떻게 만듭니 까?

어떻게하면됩니까?

Offliberty이 작업을 수행합니다. 나는 소스 코드를 살펴 봤지만 그것을 이해할 수는 없다. 나는 그것이 서버 측 스크립팅으로 끝났으며 내 호스트가 그것을 지원한다는 것을 알았고, sizzle이라는 스크립트는 Offliberty 웹 사이트에 힘을 실어주고 있지만 코드를 볼 때 혼란 스럽다.

+1

이것은 jQuery를 사용하여 수행 할 수 있지만 서버 측 스크립트를 사용하면 가장 쉽습니다. PHP, ASP.NET, Perl, Python 등의 서버 측에서 사용할 수 있습니까? –

답변

8

원하는 경우 클라이언트 측에서도 쉽게이 작업을 수행 할 수 있습니다. 당신의 CSS에서 여러 클래스를 만들고 그런 다음

backgr0 { background-image: url('images/somepic.jpg'); } 
backgr1 { background-image: url('images/somepic.jpg'); } 
backgr2 { background-image: url('images/somepic.jpg'); } 
backgr3 { background-image: url('images/somepic.jpg'); } 
backgr4 { background-image: url('images/somepic.jpg'); } 

당신의 jQuery를 준비 기능에 : 필요한 경우

$(function(){ 
    var backnum = Math.floor(Math.random()*5); 
    $('body').addClass("backgr" + backnum); 
}); 

이 사업부의 #ID으로 몸을 교체합니다.

-1

<div id=wrapper class=wrapper4> CSS에 20 가지 이상의 배경 옵션이 있습니다. php asp 또는 severside 코드를 사용하지 않으려는 경우. 당신이 뭔가는 자바 스크립트 또는 서버 측 코드와 완료 여부를 확인하려고 할 때이

document.write ('<div id=wrapper class=wrapper' + Math.floor(Math.random()*21) + '>'); 
0

에 대한 자바 스크립트를 작성할 수 있습니다, 당신이 할 수있는 첫번째 일은 완전히 자바 스크립트를 해제 페이지 a를 다시로드입니다 몇 번이고, 무슨 일이 일어나는 지보십시오.

불행히도 Offliberty는 기본적으로 모든 것을 볼 수 없으므로 아무 JS도없는 경우 빈 화면처럼 보입니다. 그러나 내용은 여전히 ​​모두 입니다.이므로 여전히 작동합니다.

이러한 큰 배경 이미지는 #wrapper div에 적용되며, JS를 껐을 때도 리프레시했을 때 배경 이미지가 변경되었습니다.

그래서 서버 측 물건을 사용하고있는 것처럼 보입니다.

(이것은 가치가 무엇인지, Sizzle는 선택 요소 훨씬 쉽게 만드는 자바 스크립트 라이브러리에 대한. 그것은 사용자에 대해 아무 것도 변경하지 않습니다 또한, 그것은 단지 개발을 좀 더 간단하게.)

1

그것은 것 서버 측에서이 작업을 수행하는 것이 가장 좋기 때문에 PHP를 사용하고있는 것처럼 보입니다. 따라서이 언어로 예제를 제공합니다. 배경 이미지는 다시로드 할 때만 변경되므로 논리적으로 차이점은 클라이언트가 서버에서받는 HTML에 있어야합니다.

@DarthJDG과 동일한 CSS 클래스를 사용해야합니다. 유일한 차이점은 클래스를 클라이언트 측이 아니라 서버에 연결한다는 것입니다.

$number_of_classes=7; //the number of background images you have 
$which_one=rand(0, $number_of_classes-1); //let's choose a class 

printf('<body class="backgr%s">', $which_one); //put this wherever you are printing body 
+0

고마워요. 나는 기본적으로 아무 것도 아닌 jquery보다 php를 더 잘 이해하지만 exaclty는 어디에서 최상위 두 줄을 넣을 까? – Toren

+0

@Toren 어디서나'body' 태그를 출력 할 것입니다. 예를 들어'echo '와 같은 것이 있다면 ';'내 코드로 대체하십시오. – kapa

+0

정말 고마워요! 내가 왜 그걸 시도하지 않았는지 전혀 모르겠다.:) – Toren

관련 문제