2009-03-03 4 views
0

일부 텍스트 및 링크가있는 페이지가 있습니다. 나는 그 링크를 클릭 할 때 그곳에 이미지를 표시하고 싶다. 그러나, 나는 자바 스크립트를 전혀 사용하지 않는다. 내가 사용할 수있는 것은 PHP와 같은 서버 측 컴포넌트이다. 감사합니다자바 스크립트를 사용하지 않고 이미지를 표시하는 링크를 확장하십시오.

+0

어떤 언어를 사용 하시겠습니까? 당신은 "PHP와 같다"라고 말하지만, 무엇을 할 수 있습니까? – obeattie

답변

3

페이지에서 페이지를 다시로드하지 않고 Ajax를 사용할 수 없다는 의견에 언급 했으므로 PHP는 서버에서 실행되기 때문에 PHP가 도움이되지 않습니다. 대신 CSS로 원하는 것을 얻을 수 있습니다. this simple demo을 살펴보십시오.

기본적으로, 당신은 링크 내부의 이미지를 넣어 :

<a href="#img1">link text <img src="..."></a> 

다음처럼 CSS 뭔가에 지정

a img {display:none} 
a:visited img {display:inline} 

때문에 이미지가 기본적으로 숨겨져 있지만, 사용자가 클릭 한 번 링크에서 이미지가 표시됩니다. 당신이 당신의 페이지에 여러 이미지가있는 경우 각각 다른 HREF 앵커를 연결 할당해야합니다 :

<a href="#img1">link text <img src="..."></a> 
<a href="#img2">link text <img src="..."></a> 
이 방법

하나의 잠재적 인 문제는 사용자가 특정 이미지를 공개되면, 그 이미지도에 의해 밝혀 질 것입니다 사용자가 브라우저 기록을 삭제하지 않는 한 그 페이지에 대한 이후의 방문을 기본으로합니다. 이러한 현상을 방지하려면 항상 모든 이미지를 기본적으로 숨기고, 예를 들어 PHP 코드는 매번 임의의 href 앵커를 생성 할 수 있습니다.

2

이것은 전적으로 가능하지만 사용자가 링크를 클릭하면 이미지를 표시하기 위해 페이지를 다시로드해야한다는 사실을 용인해야합니다.

그래서, 기본적으로, 당신의 연결은 다음과 같이 될 것입니다 :

http://myserver/myscript.php?id=0

를 다음 PHP 아마도이 같은 해당 이미지에 대한 IMG 태그 포함됩니다

$id = $_GET['id']; 
echo "<img src='/images/image_$id.jpg'>\n"; 

을 Javascript를 사용할 수 있었다면 페이지를 새로 고침 할 필요없이 작동 할 수 있었지만 그 외에도 PHP로 수행하는 것이 좋습니다.

+0

페이지를 다시로드하지 않고도 완료 할 수 있습니까? Javascript로 쉽게. 그러나 나는 그것을 사용할 수밖에 없다. – Rakesh

+0

@ 레이크 - 페이지를 다시로드하지 않고도 PHP를 사용할 수 없습니다. 자바 스크립트 등의 아약스를 사용하지 않는 한 ... – yoavf

+0

좋은 조언, $ id 매개 변수 tho에 대한 몇 가지 규칙을 추가합니다. – kender

관련 문제