| Autor | Zpráva | ||
|---|---|---|---|
| Richo Profil |
#1 · Zasláno: 24. 6. 2011, 22:13:49
Zdravím.
Snažím se zprovoznit fotogalerii pomocí jquery. Vykradl jsem kód z www.mmreality.cz a celkem už mi to "chodí". Nevíte někdo Jak se u jquery změní velikost okna prohlížeče obrázků? Už se s tím párám dva týdny.... Dík. |
||
| Richo Profil |
#2 · Zasláno: 25. 6. 2011, 18:17:16
Tak pořád študuju kód.
Potřeboval bych zvětšit výšku prohlížeče. Šířka se mění automaticky, ale výška je nastavená napevno. Mohlo by to být někde tady?: function fancybox_draw(pos) {
var width = Math.round(start_pos.width + (final_pos.width - start_pos.width) * pos);
var height = Math.round(start_pos.height + (final_pos.height - start_pos.height) * pos);
var top = Math.round(start_pos.top + (final_pos.top - start_pos.top) * pos);
var left = Math.round(start_pos.left + (final_pos.left - start_pos.left) * pos);
wrap.css({
'width' : width + 'px',
'height' : height + 'px',
'top' : top + 'px',
'left' : left + 'px'
});
width = Math.max(width - currentOpts.padding * 2, 0);
height = Math.max(height - (currentOpts.padding * 2 + (titleh * pos)), 0);
inner.css({
'width' : width + 'px',
'height' : height + 'px'
});
if (typeof final_pos.opacity !== 'undefined') wrap.css('opacity', (pos < 0.5 ? 0.5 : pos));
};
function _finish() {
inner.css('overflow', overflow = (currentOpts.scrolling == 'auto' ? (currentOpts.type == 'image' || currentOpts.type == 'iframe' || currentOpts.type == 'swf' ? 'hidden' : 'auto') : (currentOpts.scrolling == 'yes' ? 'auto' : 'visible')));
if (!$.support.opacity) {
inner.get(0).style.removeAttribute('filter');
wrap.get(0).style.removeAttribute('filter');
}
$('#fancybox-title').show();
if (currentOpts.hideOnContentClick) inner.one('click', $.fancybox.close);
if (currentOpts.hideOnOverlayClick) overlay.one('click', $.fancybox.close);
if (currentOpts.showCloseButton) close.show();
fancybox_set_navigation();
$(window).bind("resize.fb", $.fancybox.center);
currentOpts.centerOnScroll ? $(window).bind("scroll.fb", $.fancybox.center) : $(window).unbind("scroll.fb");
if ($.isFunction(currentOpts.onComplete)) currentOpts.onComplete(currentArray, currentIndex, currentOpts);
busy = false;
fancybox_preload_images();
};
function fancybox_get_zoom_to() {
var view = fancybox_get_viewport();
var to = {};
var margin = currentOpts.margin;
var resize = currentOpts.autoScale;
var horizontal_space = (shadow + margin) * 2 ;
var vertical_space = (shadow + margin) * 2 ;
var double_padding = (currentOpts.padding * 2);
if (currentOpts.width.toString().indexOf('%') > -1) {
to.width = ((view[0] * parseFloat(currentOpts.width)) / 100) - (shadow * 2) ;
resize = false;
} else {
to.width = currentOpts.width + double_padding;
}
if (currentOpts.height.toString().indexOf('%') > -1) {
to.height = ((view[1] * parseFloat(currentOpts.height)) / 100) - (shadow * 2);
resize = false;
} else {
to.height = currentOpts.height + double_padding;
}
if (resize && (to.width > (view[0] - horizontal_space) || to.height > (view[1] - vertical_space))) {
if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') {
horizontal_space += double_padding;
vertical_space += double_padding;
var ratio = Math.min(Math.min( view[0] - horizontal_space, currentOpts.width) / currentOpts.width, Math.min( view[1] - vertical_space, currentOpts.height) / currentOpts.height);
to.width = Math.round(ratio * (to.width - double_padding)) + double_padding;
to.height = Math.round(ratio * (to.height - double_padding)) + double_padding;
} else {
to.width = Math.min(to.width, (view[0] - horizontal_space));
to.height = Math.min(to.height, (view[1] - vertical_space));
}
}
to.top = view[3] + ((view[1] - (to.height + (shadow * 2 ))) * 0.5);
to.left = view[2] + ((view[0] - (to.width + (shadow * 2 ))) * 0.5);
if (currentOpts.autoScale == false) {
to.top = Math.max(view[3] + margin, to.top);
to.left = Math.max(view[2] + margin, to.left);
}
return to;
}; |
||
| Witiko Profil |
#3 · Zasláno: 26. 6. 2011, 08:46:07 · Upravil/a: Witiko
Richo:
„Vykradl jsem kód z w>ww.mmreality.cz a celkem už mi to "chodí"“ Autorský zákon chrání jakýkoliv obsah Díla (webových stránek), zdrojový kód nevyjímaje. „ ... kód ... “
Co mohu posoudit, jedná se o s problémem nesouvisející úsek kódu. Přinejmenším v něm chybí definice odkazovaných objektů - hlavně kontejneru s nastaveními, jehož referenci by měla obsahovat proměnná currentOpts.
MM Reality na svých webových stránkách zdá se používají volně šiřitelný "prohlížeč obrázků" ThickBox. Proč nevyužít rovnou daný jQuery plugin, případně proč si nevybrat z tisíce volně dostupných lightbox alternativ? |
||
| Richo Profil |
#4 · Zasláno: 26. 6. 2011, 19:00:08
No, myslím, že mi to bude stačit zhruba tak jak to je. Když jsem se díval na soubory co mi stáhnul prohlížeč, tak v nich byla uvedena licence pro volné šíření s podmínkou ponechání kontaktu na autora, takže to budou asi ty pluginy. Nakonec jsem si to stejně musel přizpůsobit k mé stránce. 99% toho co tam mají nakódováno stejně nepotřebuju. šlo mi hlavně o stínované okraje prohlížeče a umístění navigačních tlačítek, kčemuž bych se stejně, pracně, někdy dostal s dlouhodobým otravováním lidí na forech. Šel jsem opačným směrem. Stáhnul jsem si kód s výsledkem, který se mi líbí a postupně umazával nepotřebné věci a študoval, co to s výsledkem udělá.
Dík za napomenutí, ale myslím, že podobně jedná každý druhý začátečník (ne-li každý první...) |
||
| Witiko Profil |
#5 · Zasláno: 27. 6. 2011, 14:38:22
Richo:
„ale myslím, že podobně jedná každý druhý začátečník“ Ale ne každý se tím tak okatě chlubí. :-) |
||
|
Časová prodleva: 15 let
|
|||
0