2009-07-16 2 views
0

아래의 스크립트를 수정하는 방법을 아는 사람이 있습니까? 현재 두 개의 함수 (changeFontSize (id, true); // 글꼴 크기가 증가합니다 - changeFontSize (id); // 크기가 작아짐)를 추가 할 수 있습니다. 글꼴 크기가 기본 설정으로 재설정되는 세 번째 기능은 무엇입니까? 글꼴 크기 스크립트 증가/감소 - 기본 텍스트 크기 기능을 추가하는 방법은 무엇입니까?

크리스 감사

SCRIPT

기능 changeFontSize (OBJID, doIncreaseSize)는 { // 사용하기 전에 변수를 정의하거나 글로벌 될 것입니다. VAR의 currentSize = 0 OBJ = document.getElementById를 (OBJID) 된 newval = 0 limitMax = 10 limitMin = 0.5, 0.1 부;

if(!obj){ 
return false; //Avoids errors if obj isn't found. 
} 
currentSize = parseFloat(obj.style.fontSize); 
if(doIncreaseSize){ 
    unit = -unit; // unit becomes negative. This turns subtractions into addition. 
} 
newVal = currentSize - unit; 
if(limitMax >= newVal && limitMin <= newVal){ 
    obj.style.fontSize = newVal + "em"; 
} 

}};

+2

왜 개발자가이 작업을 수행하는지 잘 모르겠습니다. 브라우저에는이 기능이 내장되어 있습니다. Ctrl ++/Ctrl-- – epascarello

+0

Hi Epascarello, 브라우저가 내장되어 있다는 것을 알고 있습니다. 내 사이트를 방문하는 대부분의 방문자는 시력이 손상된 고령자입니다. 많은 사람들, 특히 노인들은 브라우저에이 브라우저 기능이 내장되어 있거나이 브라우저 기능을 사용하는 방법을 모른다는 사실을 모릅니다. 이것은 단지이 사람들에게 좀 더 쉽게 해줍니다. – Chris

답변

1

개체 자체 또는 외부 배열에서와 같이 어딘가에 원래 글꼴 크기 (1em이 아님)를 저장해야합니다. 이 같은

뭔가 : 요소가 명시 적으로em 단위로 font-size을 정의 된 이있는 경우

function changeFontSize(objId, doIncreaseSize) { 
    var currentSize = 0, obj = document.getElementById(objId), newVal = 0, limitMax = 10, limitMin = 0.5, unit = 0.1; 
    if(!obj){ 
    return false; 
    } 
    currentSize = parseFloat(obj.style.fontSize); 
    if (!obj.originalSize) { obj.originalSize = currentSize; } 
    if(doIncreaseSize){ 
    unit = -unit; 
    } 
    newVal = currentSize - unit; 
    if(limitMax >= newVal && limitMin <= newVal){ 
    obj.style.fontSize = newVal + "em"; 
    } 
    return true; 
} 

function resetDefaultSize(objId) { 
    var obj = document.getElementById(objId); 
    if(!obj){ 
    return false; 
    } 
    if (obj.originalSize) { obj.style.fontSize = obj.originalSize + "em"; } 
    return true; 
} 

공지 사항 코드에만 작동합니다.

+0

안녕하세요. STAii, 스크립트가 작동하지 않는 것 같습니다. 증가, 감소 또는 재설정을 클릭하면 (다음 html 코드 참조 : 글꼴 크기 변경 : INCREASE | DECREASE | RESET) 흰색 화면에 "true"라는 단어가 표시됩니다. 기회가 생겼을 때 자바 스크립트를 보시고 친절하게 대해 주시면 감사하겠습니다. 시간 내 주셔서 감사합니다. Chris – Chris

+0

자바 스크립트 코드를 호출하는 링크를 원한다면, ''을 사용하지 말고 'link'을 사용하십시오. 따라서 귀하의 경우, 그것은 'increase'이됩니다. 다른 링크도 똑같이하십시오. –

+0

안녕하세요. STAii 씨, 작동합니다 !!!!!!! 고맙습니다 - 당신은 폭탄입니다 !!!!!!!!!!! 이전 페이지의 글꼴 크기를 늘리거나 줄이려면 각 페이지를 어떻게 얻을 수 있는지 알고 있습니까? 현재 방문자가 글꼴 크기를 조정하고 다른 페이지로 이동하면 글꼴 크기가 기본 크기로 돌아옵니다. 즉 방문자는 방문한 각 페이지에 대해 글꼴 크기를 다시 조정해야합니다.방문자가 한 페이지에서 페이지 크기를 조정 한 다음 다른 페이지로 이동하면 다른 호출기가 자동으로 조정 된 글꼴 크기로 표시됩니다. 고마워요, 크리스 – Chris

0

당신이 만든 것을 가지고 가서, 당신이 할 수있는 대신 부울 doIncreaseSize를 사용하는 대신 해당 변수 액션을 호출하고

... 
if (action == 'sub') { 
    unit = -unit; 
} 
newVal = currentSize - unit; 
if (action == 'def') { 
    newVal = some_default_value; 
} 
... 

을하지만, 여기에 진짜 문제가 왜이 일을한다 수 있다는 것입니다 처음부터? 사용자가 클릭하여 웹 페이지의 텍스트 크기를 늘리거나 줄일 수있는 단추를 만들 계획이 아니라면 값을 높이거나 낮추지 않고 값을 설정하는 것이 훨씬 쉽습니다. 그러나 주석에 게시 된 것처럼 브라우저에서 직접 수행 할 수 있습니다.

+0

안녕하세요, Google은 귀하의 도움에 감사드립니다. 예, 사용자가 글꼴 크기를 늘리거나 줄일 수있는 버튼을 만들 계획입니다. 크리스 – Chris