Несколько функций innerHTML - PullRequest
       6

Несколько функций innerHTML

3 голосов
/ 15 октября 2011
<script language="JavaScript">
function changeHistory(which) {
document.getElementById('maincontent').innerHTML="<iframe src='history.html' width='100%' height='100%' scrolling='auto'></iframe>";
}

function changeFigures(which) {
document.getElementById('maincontent').innerHTML="<iframe src='figures.html' width='100%' height='100%' scrolling='auto'></iframe>";
}
</script>


<li><a title="History" href="history.html" onclick="changeHistory(this); return false;">History</a></li>
<li><a title="Figures" href="figures.html" onclick="changeFigures(this); return false;">Figures</a></li>

Я правильно делаю? Как НЕ использовать разные методы javascript для разных ссылок?

Возможно ли использовать переменные в этой задаче?

Ответы [ 2 ]

1 голос
/ 15 октября 2011

Вы уже передаете html-элемент в функцию с помощью этой встроенной функции, которая, я думаю, хорошо работает таким образом.

onclick="changeHistory(this);

Теперь, если вы измените функцию таким образом, вы можете использоватьhtml-элемент, который вы только что передали, чтобы получить фактический URL-адрес, который является атрибутом href этого html-элемента.

<script language="JavaScript">
function changeIframe(htmlElement) {
  document.getElementById('maincontent').innerHTML = "<iframe src='" + htmlElement.href + "' width='100%' height='100%' scrolling='auto'></iframe>";
}
</script>


<li><a title="History" href="history.html" onclick="changeIframe(this); return false;">History</a></li>
<li><a title="Figures" href="figures.html" onclick="changeIframe(this); return false;">Figures</a></li>

Получайте удовольствие!

0 голосов
/ 15 октября 2011

да, это выглядит правильно, вы могли бы сделать что-то вроде этого, которое передаст "href" от ссылки к источнику iframe.

function changeFrames(which) {

document.getElementById('maincontent').innerHTML="<iframe src='"+which.href+"' width='100%' height='100%' scrolling='auto'></iframe>";
}
...