27-10-2012, 14:53
Witam.
Ostatnio zostałem poproszony o pomoc na pewnej stronie robionej przez innego programistę. Po wykonaniu zlecenia właściciel poprosił mnie, żebym sprawdził jedną rzecz, a mianowicie na stronie http://warzno.pl/index.php/dzialki jest mapka, gdzie wolne działki powinny być oznaczone na zielono, a po najechaniu zielony powinien się rozjaśniać. Problem w tym, że sprawnie działa to tylko na Chromie. Natomiast na Firefoxie początkowe zielone pola widać tylko przy pierwszym ładowaniu strony lub po ctrl+f5. Wszystko inne jest ok. Wydaje mi się, że problem siedzi w tym, że skrypt zaczyna działać w momencie gdy od nowa ładowana jest mapa. Poniżej zamieszczam kod, który jest odpowiedzialny za wyświetlanie punktów na mapie.
Opisałem w nim 2 miejsca, które są odpowiedzialne za wyświetlanie się pól. Ktoś ma jakiś pomysł jak temu zaradzić?
Ostatnio zostałem poproszony o pomoc na pewnej stronie robionej przez innego programistę. Po wykonaniu zlecenia właściciel poprosił mnie, żebym sprawdził jedną rzecz, a mianowicie na stronie http://warzno.pl/index.php/dzialki jest mapka, gdzie wolne działki powinny być oznaczone na zielono, a po najechaniu zielony powinien się rozjaśniać. Problem w tym, że sprawnie działa to tylko na Chromie. Natomiast na Firefoxie początkowe zielone pola widać tylko przy pierwszym ładowaniu strony lub po ctrl+f5. Wszystko inne jest ok. Wydaje mi się, że problem siedzi w tym, że skrypt zaczyna działać w momencie gdy od nowa ładowana jest mapa. Poniżej zamieszczam kod, który jest odpowiedzialny za wyświetlanie punktów na mapie.
Kod PHP:
jQuery(document).ready(function(){
if(!jQuery('#map2').length){
return;
}
jQuery('#cord_map').maphilight({ stroke: false, fillColor: '00ff00', fillOpacity: 1, neverOn: true });
for(var a = 0; a < active.length; a++){
(function(a){
var cord = jQuery('#map_cord_' + active[a]);
cord.data('maphilight', { fillColor: '00d700', stroke: true, strokeColor: 'ffffff', strokeOpacity: 1, strokeWidth: 1, fillOpacity: 0.8, neverOn: false, alwaysOn: true }); // tu dodawane są zielone pola
cord.on({
'mouseover': function(e){
cord.data('maphilight', { fillColor: 'ffffff', stroke: true, strokeColor: 'ffffff', strokeOpacity: 1, strokeWidth: 1,fillOpacity: 0.4, neverOn: false }); // tu dodawane jest rozjaśnienie
tip_active(active[a]);
}, 'mouseout': function(e){
tip_deactive(active[a]);
}
});
jQuery('#map_txt_' + active[a] + ', #map_house_' + active[a]).on({
'mouseover': function(e){
cord.mouseover();
tip_active(active[a]);
}, 'mouseout': function(e){
cord.mouseout();
tip_deactive(active[a]);
}, 'click': function(){
jQuery('#map_cord_' + active[a]).trigger('click');
}
});
})(a);
}
Opisałem w nim 2 miejsca, które są odpowiedzialne za wyświetlanie się pól. Ktoś ma jakiś pomysł jak temu zaradzić?