IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Priradenie atribútov pre funkciu click

Aktivity
Avatar
Filip Bocko
Člen
Avatar
Filip Bocko:4.1.2020 17:55

Ahoj :),

pracujem na jednej stránke a neviem si dať rady s priradením atribútu pre javascriptový odkaz.
V princípe ide o to, že chcem daný odkaz otvoriť v iframe pomocou lightbox, konkrétne cez plugin ModuloBox. (Keď to napíšem klasicky cez HTML, tak mi to funguje) Potrebujem tam mať tri základné podmienky, aby sa mi to v lightboxe otvorilo.

Moje pokusy zatiaľ vyzerajú asi takto a ďalej si neviem dať rady...
Ide o funkciu click.region:

function (e, mapsvg){
  var region = this;
  jQuery('.mapsvg-region').attr('data-type' : 'iframe', 'class' : 'mobx', 'href', region.data.link_field_name);
  //'src', region.data.link_field_name
}

Myslím si, že to treba iba nejako správne napísať a priznám sa v javascripte nie som moc doma :)

Ak by náhodou pomohla dokumentácia pre samotný modulobox: https://theme-one.com/…ascript-api/

Ďakujem veľmi pekne za každú pomoc a prajem ešte pohodový večer :)

 
Odpovědět
4.1.2020 17:55
Avatar
Filip Bocko
Člen
Avatar
Filip Bocko:4.1.2020 18:55

Ešte pridávam funkčný odkaz HTML, ktorý daný lightbox vyvolať vie:

<a class="mobx" data-rel="skupina" href="/iframe-stranka/" data-type="iframe"  data-title="Nadpis stránky">Odkaz na Iframe stránku</a>

... a tie 3 základné atribúty sú (href, data-type, class)

Editováno 4.1.2020 18:56
 
Nahoru Odpovědět
4.1.2020 18:55
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:4.1.2020 19:57

google = jquery data type attr lightbox
google = jquery data type attr
https://stackoverflow.com/…age/38748248

$(selector).data(name,value)

https://api.jquery.com/attr/
V zadnem prikladu na strance nepouzivaji pole. Ale melo by to jit napsat treba i takto

$(selector)
.data(name,value)
.data(name,value)
.data(name,value);
 
Nahoru Odpovědět
4.1.2020 19:57
Avatar
Filip Bocko
Člen
Avatar
Odpovídá na Peter Mlich
Filip Bocko:5.1.2020 22:55

Ďakujem, vyskúšal som to, no stále mi to neotvára v lightboxe...
Vyskúšal som tieto varianty a myslím si, že už sú napísané aj správne:

var region = this;
  $('.mapsvg-region')
  .data('class','mobx')
  .data('data-type','iframe')
  .data('href', region.data.link_field_name);
var region = this;
  $('.mapsvg-region')
  .data('class':'mobx')
  .data('data-type':'iframe')
  .data('href', region.data.link_field_name);
var region = this;
  var media = [
    {
      mediaSelector: '.mobx',
      type: 'iframe',
      src: region.data.link_field_name
    }
  ];
var region = this;
  $('.mapsvg-region')
  .attr(
    mediaSelector: '.mobx',
    type: 'iframe',
    src: region.data.link_field_name
  );
var region = this;
  var mobx = new ModuloBox( /* options */ );
  $( ".mapsvg-region" ).attr({
    mediaSelector: '.mobx',
    type: 'iframe',
    src: region.data.link_field_name
  });
  mobx.init();
var region = this;
  jQuery('.mapsvg-region').attr({
    mediaSelector: '.mobx',
    type: 'iframe',
    src: region.data.link_field_name
  });
 
Nahoru Odpovědět
5.1.2020 22:55
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6.1.2020 9:05

Ne, je to spatne. Opravdu se podivej do dokumentace, jak se to pise.

Zkus si v prohlizeci otevrit js konzolu (webovou, chybovou nebo, jak to nazyva zrovna tvuj browser), zda ti nepise treba chyby.
Firefox > Nastroje > Nastroje pro vyvojare > Webova konzola (ctrl+shift+k)

 
Nahoru Odpovědět
6.1.2020 9:05
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6.1.2020 9:11

Teda, ta prvni by mohla fungovat. Ale treba to pise jeste chybu jinde.
Napriklad, v html kodu, co jsi napsal, nemas class stejnou jako v tom js kodu.
<a class="mobx"
$('.mapsvg-region')

 
Nahoru Odpovědět
6.1.2020 9:11
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6.1.2020 9:14

Mozna by bylo super, kdyby jsi vyrobil jednoduchy html js kod a dal sem cely kod, at ti muzeme napsat, kde vsude mas chybu. Pripadne je mozne pouzit neco jako jsfiddle.net . Nez, abys to sem daval kousicek po kousicku. :)

 
Nahoru Odpovědět
6.1.2020 9:14
Avatar
Filip Bocko
Člen
Avatar
Filip Bocko:8.1.2020 10:24

Tak nakoniec sa mi to ešte s pomocou kamaráta podarilo vyriešiť a tá konzola mi tiež veľmi pomohla :)

Ak by to niekomu do budúcna mohlo pomôcť, tak tu uvediem, že táto implementácia je pre funkciu click a ide konkrétne o implementáciu do knižnice modulobox.

Môj kód:

//Options
  var options = {
    thumbnails : false,
    scrollToZoom  : false,
    prevNext : false,
  };

  // create instance of ModuloBox
  var mobx = new ModuloBox( options );

  // set media array
  var media = [
    {
      index   : 0,
      src     : region.data.link,
      title   : 'Nadpis stránky',
      type    : 'iframe'
    }
  ];

  // add media to a gallery
  mobx.addMedia( 'galeria', media );

  // initialize the instance
  mobx.init();

  mobx.open( 'galeria', 0 );

A ďakujem veľmi pekne, neozaj si vážim tvoju ochotu a pomoc Peter ;)

A prajem všetkým krásny deň :)

Editováno 8.1.2020 10:27
 
Nahoru Odpovědět
8.1.2020 10:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.