Как зарядить все ссылки из div во всплывающем окне - PullRequest
0 голосов
/ 22 апреля 2011

Я пробовал это, но цикл работает только для первого элемента.

<html><head>
<script type="text/javascript" src="http://db2.stj.s-msn.com/br/sc/js/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function link(){
var oDiv = document.getElementById("rtl");
var links = oDiv.getElementsByTagName("a");

for(var i=0;i<links.length;i++){
links[i].onclick = function(){popup(links[i]);};
break;
}
}

function popup($links){
if($links){
var $name = "Présidentielles 2012 - RTL.fr";
var largeur = "620px";
var hauteur = "560px";
var defilement = "yes";
var nPosX = (screen.width) ? (screen.width-largeur)/2 : 0;
var nPosY = (screen.height) ? (screen.height-hauteur)/2 : 0;
var $option = 'width='+largeur+',height='+hauteur+',top='+nPosX+',left='+nPosY+',scrollbars='+defilement+',resizable=no';
var Popup = window.open($links,$name,$option);
if (window.focus) {Popup.focus();}
$links.setAttribute("href","");
//delete $links;
return false;
}
}
</script>
</head>
<body onload="link();">
<div id="rtl">
<a href="test1.htm">Lien 1</a><br/><br/>
<a href="test2.htm">Lien 2</a><br/><br/>
<a href="test3.htm">Lien 3</a><br/><br/>
</di>
<div id="test">
<a href="test4.htm">Lien 1</a><br/><br/>
<a href="test4.htm">Lien 2</a><br/><br/>
<a href="test4.htm">Lien 3</a><br/><br/>
</div>
</body>
</html>

Спасибо за вашу помощь

Ответы [ 2 ]

2 голосов
/ 22 апреля 2011

Полагаю, удаление break; поможет?

0 голосов
/ 22 апреля 2011

Как уже было сказано, вам нужно удалить разрыв;

Однако вам также нужно беспокоиться о области действия переменной i.

Проблема заключается в том, что меня ставят до 6, а затем, когда вещи впоследствии называют индексными ссылками [6], которых не существует, искусственно решая эту проблему для первой ссылки.

Следующее исправит вашу непосредственную проблему:

links[i].onclick =
    function() { var idx=i; return function(){ popup(links[idx]);} }();

, сохраняя при этом весь исходный код.

...