Ŝablono-Diskuto:Informkesto/Geografia lokigo multobla
You need the javascript code to make this run :
/**
* Script pour alterner entre plusieurs cartes de géolocalisation
*/
if(( mw.config.get('wgAction')=="view" || mw.config.get('wgAction')=="purge" || mw.config.get('wgAction')=="submit")) addOnloadHook(GeoBox_Init);
function GeoBox_Init(Element){
if(!Element) Element = document.body;
var cont = getElementsByClass('img_toogle', Element, 'div');
if(cont.length==0) return;
for (var i = 0,m=cont.length; i < m ; i++) {
cont[i].id = 'img_toogle_' + i;
var Boxes = getElementsByClass('geobox',cont[i]);
var ToggleLinksDiv = document.createElement('ul');
ToggleLinksDiv.id = 'geoboxToggleLinks_' + i;
for(var a=0,l=Boxes.length;a<l;a++){
var ThisBox = Boxes[a];
ThisBox.id = 'geobox_' + i + "_" + a;
ThisBox.style.borderTop='0';
var ThisAlt = ThisBox.getElementsByTagName('img')[0].alt
var toggle = document.createElement('a');
toggle.id = 'geoboxToggle_' + i + "_" + a;
toggle.appendChild(document.createTextNode(ThisAlt));
toggle.href='javascript:;';
toggle.onclick = function(){
GeoBox_Toggle(this);
return false;
}
var Li = document.createElement('li');
Li.appendChild(toggle);
ToggleLinksDiv.appendChild(Li);
if(a==(l-1)){
Li.style.display = "none";
}else{
ThisBox.style.display = "none";
}
}
cont[i].appendChild(ToggleLinksDiv);
}
}
function GeoBox_Toggle(link){
var ImgToggleIndex = link.id.split('geoboxToggle_').join('').replace(/_.*/g, "");
var GeoBoxIndex = link.id.replace(/.*_/g, "");
var ImageToggle = document.getElementById('img_toogle_' + ImgToggleIndex);
var Links = document.getElementById('geoboxToggleLinks_' + ImgToggleIndex);
var Geobox = document.getElementById('geobox_' + ImgToggleIndex + "_" + GeoBoxIndex);
var Link = document.getElementById('geoboxToggle_' + ImgToggleIndex + "_" + GeoBoxIndex);
if( (!ImageToggle) || (!Links) || (!Geobox) || (!Link) ) return;
var AllGeoboxes = getElementsByClass('geobox',ImageToggle);
for(var a=0,l=AllGeoboxes.length;a<l;a++){
if(AllGeoboxes[a] == Geobox){
AllGeoboxes[a].style.display = "";
}else{
AllGeoboxes[a].style.display = "none";
}
}
var AllToggleLinks = Links.getElementsByTagName('a');
for(var a=0,l=AllToggleLinks.length;a<l;a++){
if(AllToggleLinks[a] == Link){
AllToggleLinks[a].parentNode.style.display = "none";
}else{
AllToggleLinks[a].parentNode.style.display = "";
}
}
}
See fr:MediaWiki:Common.js (~ in the middle of the page).
Dr Brains 18:29, 10 Maj. 2011 (UTC)
- Thank you for your help. I am testing this script in my user page: Uzanto:Tlustulimu/vector.js. It works very well. I still will test a little bit and then I will copy it into MediaWiki:Common.js. Grettings --Tlustulimu 18:53, 10 Maj. 2011 (UTC)
- Oups, I've forgotten : there is a little CSS to render as in french wikipedia :
/* Géolocalisation dynamique */
.NavContent .img_toogle {
zoom: 1; /* be kind to IE7 */
clear: both; /* be kind to IE7 */
}
.img_toogle, .img_toogle * {
margin: 0 !important;
padding: 0 !important;
}
.img_toogle .a_toogle {
display: block;
text-align: center !important;
font-size: 0.95em;
}
.img_toogle .geobox {
position: relative;
}
.img_toogle .geobox +.geobox {
border-top: 5px solid #aaa;
}
.img_toogle .geopoint {
position: absolute;
width: 5px;
height: 5px;
font-size: 1px;
border: 1px solid #000;
background:#F00;
}
- Dr Brains 11:45, 11 Maj. 2011 (UTC)
Aliaj mapoj redakti
Saluton. La ŝablono nun ankaŭ subtenas alternativajn mapojn per pliaj parametroj, nome la jenaj:
- mapo1, fona mapo1
- mapo2, fona mapo2
- mapo3, fona mapo3
- mapo4, fona mapo4
Mi ankoraŭ kreos ekzemplon por tio, sed ne tuj. Amike --Tlustulimu (diskuto) 13:49, 13 Mar. 2012 (UTC)
- Saluton. Bonvolu atenti, ke la supre menciitaj parametroj por fonaj mapoj nur povas funkcii, se punkto ne estas uzata, sed Marko, Markospeco aŭ nenio. Amike --Tlustulimu (diskuto) 09:55, 27 Apr. 2012 (UTC)