Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

ROZWIĄZANY: Jak użyć biblioteki jquery(nyroModal) do wyświetlenia danych postaci w IP.B?


Tortilla

Rekomendowane odpowiedzi

A więc, sprawa wygląda tak. Mam kod który jest połączony z bazą danych SA:MP'a, gdy nacisnę na postać w profilu powinno wyświetlić się okienko jquery, w którym można przeskakiwać pomiędzy wszystkim za pomocą AJAX'a. Problem jest w tym, że gówno się dzieje. Nic się nie wyświetla, nie wiem co jest źle. Oto kod szablonu:

<style type="text/css">
.CharacterRow {
height: auto;
line-height: 12px !important;
margin-bottom: 10px !important;
min-width: 100px;
padding: 5px 10px;
text-align: center;
width: auto;
}
.block{opacity: 0.5}
.block:hover{opacity: 1}
.CharacterRow span{font-size: 0.85em}
.CharacterRow .characterLastonline{display:none}
.CharacterRow .characterTime{display:inline}
.CharacterRow:hover .characterLastonline{display:inline}
.CharacterRow:hover .characterTime{display:none}
.ipsBadge {
   -moz-border-radius: 4px 4px 4px 4px;
   color: #FFFFFF;
   display: inline-block;
   font-size: 9px;
   font-weight: bold;
   height: 16px;
   line-height: 16px;
   padding: 0 5px;
   text-transform: uppercase;
}
minified2.css (wiersz 1)
.ipsBadge_green {
   background: none repeat scroll 0 0 #7BA60D;
}
.ipsBadge_red {
   background: none repeat scroll 0 0 #CF2020;
}
.ipsBadge_yellow {
   background: none repeat scroll 0 0 #F2F04E;
}
</style>
<link rel="stylesheet" href="http://centuryrp.cba.pl/grpforum/upload/public/style_css/nyroModal.css" type="text/css" media="screen" />
<div class="bar">San Andreas Multiplayer {$kpp}</div><br/>
<foreach loop="$chars as $chars">
<li class="ipsButton_secondary CharacterRow  {$value['row_class']} ">
<a href="#" onclick="ipb.grp.showCharacterDetails(this,{$chars['player_uid']});return false;"><img src="_custom/skins/{$chars['skin']}.jpg" alt="{$chars['_nick']}" style="border: 1px solid #000;" /></a>
<br />
<span class="characterNick">{$chars['nick']}</span><br />
<span class="characterTime">{$chars['playtime']} @PG12</span>
<span class="characterLastonline">{$chars['_logged']}</span>
</li>
</foreach>

Odnośnik do komentarza
Udostępnij na innych stronach

Dobra, sprawa jest po części rozwiązana. Tyle, że jest jeden problem. Owy szablon służy do wyświetlenia postaci w profilu, gdy nie przeładuje strony Javascript się nie władowuje(jest umieszczony w globalTemplate &--#60;head&--#62;{parse addtohead="ips.grp.js" type="javascript"}&--#60;/head&--#62;). Natomiast gdy dodam na końcówkę page__tab__characters, okno w jquery się władowuję bez żadnego problemu.

var _grp = window.IPBoard;
_grp.prototype.grp =
{
changesPopup: 0,
charCardContainers: [],

init: function()
{
 document.observe('dom:loaded', function()
 {

 });
},

showCharacterDetails: function(obj,charid)
{
 new ipb.Popup('charDetailPopup',
  {
type: 'pane', modal: true, w: '900px', h: 500,
ajaxURL: $(obj).readAttribute('href'),
hideAtStart: false,
close: 'a[rel="close"]',
  },
  {
afterShow: function(e2){
 //$$('.tab_toggle').invoke('stopObserving','click');
 //ipb.global.initTabs();
 ipb.grp.initCharacterCards('ajaxCharDetails'+charid);
}
  }
 );
 return false;
},

getCharTabId: function(id)
{
 return id.replace(/\_pane|\_tab/g, '');
},

initCharacterCards: function(containerID)
{
 var containerEl = $(containerID);
 if(!containerEl) return;

 var currentTab = containerEl.select("li.active")[0];

 if( !currentTab )
 {
  currentTab = containerEl.select('li')[0];
 }

 ipb.grp.charCardContainers[containerID] = currentTab;

 var togglePane = function(e, elem){
  if(e){ Event.stop(e) }

  if( ipb.grp.charCardContainers[containerID] ){
if( ipb.grp.getCharTabId( ipb.grp.charCardContainers[containerID].id ) == ipb.grp.getCharTabId( elem.id ) ){
 return;
}

$( ipb.grp.getCharTabId( ipb.grp.charCardContainers[containerID].id ) + '_pane' ).fade({duration: 0.3});
  }
  var newPane = $( ipb.grp.getCharTabId(elem.id) + '_pane' );
  $( newPane ).appear({duration: 0.3});

  containerEl.select("li").invoke("removeClassName", 'active');

  $(elem).addClassName('active');
  ipb.grp.charCardContainers[containerID] = elem;
 };

 containerEl.on('click', 'li.tab_toggle', togglePane);
 togglePane( null, currentTab );
},
}
ipb.grp.init();

Oto javascript. Co mam zrobić, by działało normalnie? :)

Edytowane przez Tortilla
Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...
  • Manager

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.