udatinos.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. var $jq = jQuery.noConflict();
  2. function addPin(poi,i){
  3. // var img = $jq('<img id="pin_'+i+'" src="asset/i_'+poi.cat+'_48.png" style="position:absolute;left:'+Math.floor(Math.random() * 1200)+'px;top:'+Math.floor(Math.random() * 700)+'px; display: block;visibility: visible;"/>');
  4. var img = $jq('<img id="pin_'+i+'" src="asset/i_'+poi.cat+'_48.png" style="position:absolute;left:'+Math.floor($jq(window).width()/2)+'px;top:'+Math.floor($jq(window).height()/2)+'px; display: block;visibility: visible;"/>');
  5. img.click(function(){ // handle click
  6. var c = $jq("#container_" + poi.type);
  7. if(poi.type=='T'){ //contenuto testuale
  8. $jq.get("contents/"+poi.type+"_"+i+".html", function(html_string)
  9. {
  10. c.html('<div class="scrollable-content" id="sub_v">' + html_string + '</div>');
  11. },'html');
  12. }else if(poi.type=='V'){//contenuto video
  13. c.html('<source src="contents/'+poi.type+'_'+i+'.mp4" type="video/mp4" />');
  14. c.attr('currentTime',"0");
  15. c.trigger('load');
  16. c.trigger('play');
  17. }else{//è un'immagine
  18. c.html('<img src="contents/'+poi.type+'_'+i+'.jpg"/>');
  19. }
  20. c.modal();
  21. });
  22. // $jq('body').delay(Math.floor(Math.random() * 1001)).append( img );
  23. // $jq('body').append('').delay(2000).queue(function (next) {
  24. // $jq(this).append(img);
  25. // next();
  26. // });
  27. $jq('body').append( img );
  28. img.delay(500);
  29. img.animate({top: poi.y + 'px'},'fast');
  30. img.animate({left:poi.x + 'px'},'fast');
  31. }
  32. $jq( document ).ready(function() {
  33. console.log( "ready!" );
  34. var b = $jq("body");
  35. b.css("margin-top", "0px");
  36. b.css("margin-left", "0px");
  37. b.css("margin-right", "0px");
  38. b.css("margin-bottom", "0px");
  39. $jq(".modal").css("width","auto");
  40. $jq('input').each(function(){
  41. var self = $jq(this),
  42. label = self.next(),
  43. label_text = label.text();
  44. label.remove();
  45. self.iCheck({
  46. checkboxClass: 'icheckbox_line-purple',
  47. radioClass: 'iradio_line-purple',
  48. insert: '<div class="icheck_line-icon"></div>' + label_text
  49. });
  50. });
  51. //fisso i bottoni ad una certa larghezza
  52. $jq( "div[class^='icheckbox_line']" ).css( "max-width", "200px" );
  53. // sposto i bottoni in alto a dx ma relativamente al loro container
  54. $jq('ul').css({
  55. position: "absolute",
  56. marginLeft: 0, marginTop: 0,
  57. top: 0, left: 0
  58. });
  59. //aggiungo l'on clicked alle checkbox
  60. $jq('input').on('ifChecked', function(event){
  61. for (let i=0; i<pois.length; i++) {
  62. var img = null;
  63. if(this.id == pois[i].cat){
  64. addPin(pois[i],i);
  65. }
  66. }
  67. //qui ci va un foreach suoi poi
  68. });
  69. $jq('input').on('ifUnchecked', function(event){
  70. //qui ci va un foreach suoi poi
  71. for (let i=0; i<pois.length; i++) {
  72. if(this.id == pois[i].cat){
  73. $jq('#pin_'+i).remove();
  74. }
  75. }
  76. });
  77. $jq( "[id^='container_']" ).on($jq.modal.AFTER_CLOSE, function(event, modal) {
  78. modal.$elm.html('');
  79. });
  80. for (let i=0; i<pois.length; i++) {
  81. if($jq('#' + pois[i].cat).is(":checked")) {
  82. addPin(pois[i],i);
  83. }
  84. }
  85. // $jq('#container_T').on($jq.modal.AFTER_CLOSE, function(event, modal) {
  86. // modal.$elm.html('');
  87. // });
  88. });