2012-01-30 4 views
3

JavaScript를 처음 접했을 때 아래에서 다룬 내용은 제가 수행 한 모든 Google RTFM의 작업에서 올바르게 보입니다. 그러나 작동하지 않습니다. 그래서 내가 붙어서부터 도움을 청하기로 결정했습니다.HTML 내부에서 JavaScript 호출?

나는 나의 HTML의 < 머리> 문서에 사는 자바 스크립트 ...

<script type="text/javascript" src="http://example.com/scripts/scripts.js"></script> 

내용은 Google지도 API되어 있습니다. 이전에는 DIV onMouseOver에서 JavaScript를 실행했습니다. 이 방법으로 스크립트를 여러 번 실행할 수 있습니다. 하나의 페이지에 여러 개의 서로 다른 맵 (포토 블로그)이 필요하기 때문입니다. 오늘 스크립트가 작동하기 때문에 스크립트가 작동한다는 것을 알고 있습니다.

<div class="location" onmouseover="initalizeMap('gmaps1832588575', '42.102500,-72.587333')"></div> 

이 스크립트를 div 외부에서 호출하는 방법을 알아 내려고합니다. 예를 들어 정적 div는 항상지도를 표시합니다. 그래서 저는 onmouseover에서 initializeMap 함수를 옮길 수 있다는 인상하에 있었고, 자신의 < 스크립트> 섹션에 있습니다. 그러나 작동하지 않습니다. 여기에 내가 가진 무엇 :

<div class="location"> 
<a href="http://maps.google.com/maps?q=40.756167+-73.978833&z=14" target="_blank">New York, NY, US</a> 

    <script type="text/javascript" language="JavaScript">initalizeMap('gmaps2021396674', '40.756167,-73.978833');</script> 

    <div class="map_holder"> 
    <div class="map" id="gmaps2021396674"> 
    </div></div></div> 

내가 말했듯이, 나는이 여러 번 실행해야하고, 내가 사업부의 onMouseover와에서에 호출 할 때이 코드가 작동합니다.

+0

자바 스크립트 기능의 작동 방식을 살펴볼 수 있습니다. 다음은 w3 - http://www.w3schools.com/js/js_functions.asp에서 자바 스크립트 함수를 사용하고 정의하는 방법입니다. –

+0

고마워, 그래, 안녕하세요 세계 기능을 수행했습니다, 그리고 내가 말했듯이, 내가 지금 onmouseover에서 호출 할 때 작동하는 기능. div의 외부에서 작업하려고 시도하지만 임의의 ID를 사용하여 나중의 프로세스에서 해당 div를 다시 호출합니다. – Pat

+0

더 정확하게 설명해 주실 수 있습니까? "div 밖으로"라고 말하면 무엇을 촬영합니까? –

답변

1

코드를 페이지 내의 스크립트 태그 안에 넣으면 해당 스크립트 태그가로드되는 즉시 실행됩니다. 이것은 참조하는 div가로드되기 전에있을 수 있습니다. 너무 일찍 실행되기 때문에 작동하지 않습니다 (마우스 오버 방법은 qhole 페이지가로드 될 때까지 마우스 오버를 할 수 없기 때문에 효과가있었습니다).

스크립트 태그를 페이지 끝으로 이동하거나 HTML 본문 태그의 onload 이벤트에서 스크립트 태그를 실행하거나 jQuery를보고 $ (document) .ready()를 사용할 수 있습니다.

+0

지금 가지고있는 방법은 HTML에서 div가로드되기 전에 < script>이로드되고 있지만 Google API를 가져 오는 데 너무 빠를 수도 있습니다. onload를 수행하거나 페이지 끝에로드하는 경우 스크립트를 한 번만로드 할 수 있습니다. 이 블로그는 한 페이지 당 최대 5 개의 고유 한지도를 표시하는 사진 블로그 용이므로 어떻게하면됩니까? – Pat

+0

당신은 그것을 onload에 넣고 거기에서 5를 모두 할 수 없습니까? –

+0

아마도지도를 5 개의 고유 한 사진 (5 개의 고유 한 div)으로 5 개의 고유 한 위치를로드하기 위해 임의의 수 생성기를 사용하여 스크립트가 어떤지도를로드 할 div인지 알 수 있습니다.온로드로 어떻게 할 수 있는지 잘 모르겠습니다. 그게 나를 초보자 빛나는 – Pat

0

initializeMap에 대한 호출 조건은 무엇입니까? 이전에는 mouseOver가 발생했을 때 호출했습니다. 이벤트 처리기 밖으로 이동하면 한 번만 호출됩니다.

뭔가가 호출을 트리거해야합니다. 네가 전화하도록하려는 걸 알아낼거야. 타이머가 필요합니까?

+0

좋은 질문이지만 타이머가 적합 할 수도 있습니다. 그러나 각 div에 대해 생성 된 임의의 ID를 사용하여 스크립트를 5 번 호출해야하므로 동일한 스크립트를 사용하여 5 번 스크립트를 실행할 수있는 어려움이 있습니다 div ID의 난수. – Pat

관련 문제