Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] dynamiczne tworzenie mapy linków do obrazka
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
grzana12
Witam!
Próbuję napisać kod który będzie dynamicznie generował mapę linków do obrazka na podstawie podanej tablicy. W całej aplikacji wykorzystuję jQuery w związku z tym chciałbym zrobić to również w jQuery. Niestety są jakieś dziwne problemy. Mam taki kod:
  1. <?php
  2. var area = $("<area/>").attr("id", map_items[item]['id'])
  3.                                  .attr("shape","poly")
  4.                                  .attr("coords", map_items[item]["coords"])
  5.                                  .attr("alt", alt_title)
  6.                                  .attr("title", alt_title);
  7. ?>

Na podstawie którego powinienem otrzymać zmienną area zawierającą obiekt. Niestety po wydrukowaniu tego na ekran nie otrzymuję nic. Nie wiem czy przypadkiem znacznik <area> nie należy do DOM i dlatego też może nie można go tak utworzyć?

Jakieś pomysły?
erix
A dopisujesz go w ogóle do jakiegokolwiek <map />. Sam obiekt jeszcze niczego nie znaczy. tongue.gif
grzana12
Tak pewnie że doczepiam go appendem. Udało się to wykonać ale zostałem zmuszony do "olania" jQuery. Zrobiłem to samym JavaScriptem i odrazu ruszyło biggrin.gif

Problem w dalszym ciągu pojawia się w IE. Mam taki kod:
  1. <?php
  2. for ( var item in map_items )
  3.                {
  4.                    if (map_items[item]["coords"] != "")
  5.                    {    
  6.                        this.getAdsAjax(item);
  7.                        alt_title = map_items[item]["name_" + _lang];
  8.                        
  9.                        var area = document.createElement("area");
  10.                        area.coords = map_items[item]["coords"];
  11.                        area.id = map_items[item]['id'];
  12.                        area.shape = "poly";
  13.                        
  14.                        jQuery.each(jQuery.browser, function(i) {
  15.                              if($.browser.msie){
  16.                                 area.href = "java script:agMyMap.select(" + map_items[item]["id"] + ", true);";
  17.                              } else {
  18.                                 area.href = "java script:void(0);";    
  19.                                area.onclick = function() {
  20.                                    item = this.id;
  21.                                    agMyMap.select(item, true);
  22.                                };
  23.                              }
  24.                        });
  25.                        
  26.                        
  27.                        area.onmouseover = function(){
  28.                            item = this.id;
  29.                            if ($.browser == "msie")
  30.                            {
  31.                                alert(item);
  32.                            }
  33.                            agMyMap.show(item);
  34.                        };
  35.                        area.onmouseout  = function(){
  36.                            agMyMap.hide();
  37.                        };
  38.                        
  39.                        
  40.                        $(area).appendTo(this.mapKeys);
  41.                              
  42.                        
  43.                    }
  44.                }
  45. ?>


Pod FF generuje mapę natomiast pod IE nie. Jakiś pomysł?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.