ciao.
ho questo codice js che viene eseguito al caricamento della pagina , lo vorrei eseguire ogni volta che ne ho bisogno per un refresh di una galleria d'immagini:
codice:
$(window).load(function(){
alert("init");
var nav=$('nav')
,win=$(window)
,content=$('#content')
,scrollable=$(window)._scrollable()
,scrllPos=scrollable.prop('scrollTop')
,pos=(function(){
var pos=[]
$('#content>ul>li')
.each(function(n){
var th=$(this)
pos[n]={
id:th.attr('id')
,top:th.prop('offsetTop')
,el:th
}
})
return pos
})()
$('a.no_actions')
.click(function(){
return false
})
$('.gallery a').fancybox({
transitionIn:'elastic'
,transitionOut:'elastic'
})
$('.gallery').thumbvr({
duration:800
,easin:'easeInOutSine'
})
$('.scroll')
.uScroll({
axis:'y'
,step:100
,mousewheel:true
})
$('nav a,.prev,.next,.privacy a,.btn').click(function(){
var th=$(this)
scrollable
.stop()
.animate({
scrollTop:$('#'+th.attr('href').replace(/[#!/]{0,3}/,'')).prop('offsetTop')
},{
duration:1000
,easing:'easeInOutSine'
})
})
nav
.navs({
useHash:true
,defHash:'#!/home'
})
win
.resize(function(){
var pos=$('#'+location.hash.replace(/[#!/]{0,3}/,'')).prop('offsetTop')
scrollable
.stop()
.prop({
scrollTop:pos
})
scrllPos=scrollable.prop('scrollTop')
$.each(pos,function(){
this.top=this.el.prop('offsetTop')
})
})
.resize()
win
.on('scroll',function(){
var tmp
scrllPos=scrollable.prop('scrollTop')
for(var i=0,l=pos.length;i<l;i++)
if((tmp=pos[i]).top+content.height()/2>scrllPos)
break;
location.hash="#!/"+tmp.id
if(tmp.id=='contacts')
googleMap()
})
.trigger('scroll')
function googleMap(){
if(googleMap.ready)
return false
googleMap.ready=true
var cssPath='.google_map'
,holder=$(cssPath)
,src='http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Brooklyn,+New+York,+NY,+United+States&aq=0&sll=37.0625,-95.677068&sspn=61.282355,146.513672&ie=UTF8&hq=&hnear=Brooklyn,+Kings,+New+York&ll=40.649974,-73.950005&spn=0.01628,0.025663&z=14&iwloc=A&output=embed'
,str='<iframe class="blo" width="'+holder.width()+'" height="'+holder.height()+'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+src+'"></iframe>'
holder.html(str)
}
$('#gspinner')
.fadeOut()
})
è possibile? come?
il problema è che se la richiamo con un semplice $(window).load(); la galleria non funziona con lo scroll i pulsanti avanti indietro ecc..... e non so perchè?
la galleria funziona inserendo le immagini in un div ognuna con un link e un immagine da visualizzare:
io non faccio altro che creare con ajax (con jquery) dei link e immagini diverse e inserirle con un .html(HTMLGENERATO).
dopo chiamo la init, ma lo scroll ad es non funziona,
grazie.