2009-03-07 12 views
1

경고 : 나는 설명하기 좋은 사람이 아니다. 영어는 완벽하지 않고 PHP, 자바 스크립트 및 jquery로 약간의 멍청하다. 당신이 그것을 다룰 수 있다고 생각한다면, 계속 읽으십시오.jquery로 div 치수를 저장하는 시스템을 개선하는 방법

그래서 웹 사이트에 div를 추가하고 드래그하여 크기를 조절할 수있는이 작은 시스템이 있습니다. 이것은 jquery로 쉽습니다. 그러나 나는 css 및 html 파일에 변경 사항을 저장하려고 시도하므로 다음에 페이지를 열면 편집 한 것처럼 보일 것입니다.

아직 준비가되지 않았지만 가능하다고 알고 있습니다. 그러나 그것을 완료하기 전에, 누군가에게 그것이 더 단순하거나 더 나은 방법으로 만드는 법을 안다면 알고 싶습니다.

나는 지금 어떻게 작동하는지 설명 할 것이다 :

사용자는 몇 div의 비늘을 추가하고 그들 주위를 드래그. (JQuery UI). 사용자가 변경 사항을 저장하는 버튼을 클릭하면 시스템은 주 컨테이너의 자식 요소 수를 확인합니다 (사용자가 만든 div는 모두 주 컨테이너의 자식입니다). 이제 시스템은 모든 자식 요소를 반복하고 [0]="200,300,500,500"과 같은 배열에 차원 (width, height, left, right)을 가져옵니다. 루프가 완료되면 시스템은 배열을 문자열로 결합합니다. 여기서 여러 요소가 세미콜론으로 구분됩니다. 이

같은 배열로,

  1. PHP는 구문 분석이 우편으로받은 문자열 :

    시스템 게시물 $.ajax()와 문자열이는 PHP 파일에서 일어나는 것입니다, 읽어 PHP 파일을 사용하여

    [0]="200,300,500,500" 
    
  2. 이제 4 개 변수

    $width = 200; 
    $height = 300; 
    $left = 500; 
    $top = 500; 
    
  3. 012,351,641으로 각각의 문자열을 파싱 어레이의 내용을 루핑
  4. 이제 시스템은이 값을 string으로 다른 배열에 넣고 css 코드를 문자열에 추가합니다. 그래서이 새로운 배열은 배열이 완료되면, 시스템, 문자열로 그것을에서 붕괴 이전 customstyle.css 파일을 삭제하고 새로운 customstyle.css 파일에 문자열을 씁니다이

    [0] = "#div0{width:200px;height:300px;left:500px;top:500px;}." 
    
  5. 것 같습니다.

이 사용자 지정 HTML 파일의 생성을 포함하지 않았다, 그러나 그것은 단순히 각 사업부가이 곳에 게시 데이터 만들어진 배열 한 후 html 파일로 된 div의 동일한 양을 만들어 얼마나 많은 값을 확인하여 이루어집니다 "div (number)"의 ID입니다.

페이지가로드되면 PHP는 사용자 정의 CSS 및 HTML 파일을 포함합니다. 목표는 자바 스크립트를 필요로하지 않는 색인 페이지를 가지며 간단한 스타일링과 함께 유효한 xhtml입니다. 편집을위한 다른 페이지이며 자바 스크립트가 필요합니다.

내가 거기에 너무 많은 배열 등의하지만 그것은 더 간단하게하는 방법을 모른다,이 시스템이 너무 복잡하다고 생각 :)

내가 시작에서 자바 스크립트와 전체 스타일의 캐릭터 라인을 만드는 생각했다 PHP 전체에 게시 한 다음 스타일 시트에 그대로 씁니다. 그러나 그것은 지금보다 훨씬 더 큰 문자열이며 게시하는 것이 그렇게 효과적이지는 않을 것입니다.(내가 시스템을 시험해 보는 유일한 사람이기 때문에 중요하지 않겠지 만, 기분이 좋지 않다 : P)

답변

0

이것은 쿠키에 대한 일처럼 들린다. 기본적으로 차원 상태를 쿠키 (here's a link to Quirksmode describing using cookies in Javascript)에 저장합니다. 페이지로드시 javascript가있는 쿠키에서 치수 상태를 검색하여 요소에 적용하려고합니다. html (css) 클래스로 jQuery로 필터링 할 수 있으므로 간단한 작업입니다.

올바르게 처리하면 사용자는 아무 것도 알 수 없습니다.

+0

그래, 그 좋은 소리를 할 수있는 지금이

class CustomElement{ public $height; public $width; public $leftPos; public $rightPos; private $elmentName; public function __construct($name){ $this->elementName = $name } } 

것처럼 간단 할 수 있지만, 실제로 나는 실제로 할 수있는 방법을 찾고 있었다 치수를 저장하십시오. 이것을 사이트의 저자가 페이지를 편집 할 수 있고 페이지를 방문하는 모든 사람이 저자가 저장 한 방법을 볼 수있는 매우 간단하고 쓸모없는 웹 에디터라고 생각하십시오. –

+0

저장 한 곳이 문제가 아닙니다. Asker는 "너무 많은 배열"을 피하기 위해 더 나은 디자인을 고안하려고합니다. –

+0

사실 나는 질문을하고 주석으로 수정하려고했습니다 :) 그리고 말했듯이, 나는 그것을 쿠키가 아닌 서버에 저장하고 싶습니다. 시스템이 현재하고있는 일을 더 잘 수행 할 방법을 찾고 있습니다. div 크기와 위치를 css 및 html 파일로 저장. –

1

저장 단추는 모든 div의 모음으로 json 개체를 조합 할 수 있습니다. 문자열 사용에 비해 많은 이점을 제공하며 PHP로 쉽게 읽을 수 있습니다.

PHP 쪽에서 맞춤 요소에 대한 클래스를 작성하십시오. 가독성을 높이고보다 논리적 인 방식으로 데이터를 조합 할 수 있습니다. 새 사용자 정의 요소를 처리 할 때마다 클래스는

$curElement = new CustomElement("div2"); 
$curElement->height = 600; 
$curElement->width = 800; 
...