javascript - JQuery Link to several different pages from one JS file -
i want modify current script when click on image new (lightbox) pop-up appears , within specific animation plays. have feature working, animation needs seperated different parts , and have it's own link animation.
once click on triangle on left hand side, want load different page different animation no sure how.
see code blow (sorry large chunk of code)
// ------------------------------------------------------------------------------------------------------------------------------ // getobjbyid() function getobjbyid(id){var ns4 = (document.layers)?true:false; var ns6 = (document.getelementbyid)?true:false; var ie4 = (document.all)?true:false;if (ns4){return document.layers[id];}else if(ie4){return document.all[id];}else{return document.getelementbyid(id);}} // pushin() function pushin(the_array, the_data){var len_array=the_array.length;the_array[len_array]=the_data;return the_array.length;} // javascript function display flash movie format video on web page function open_window_centered(the_url, the_width, the_height, the_scrollbar){ if(window.screen){ var w = parseint(the_width) + 20; var h = parseint(the_height) + 20; var x0 = (screen.availwidth - 10 - w)/2; var y0 = (screen.availheight - 30 - h)/2; var str_scrollbar=""; if(the_scrollbar) str_scrollbar=", scrollbars=1"; window.open(escape(the_url),'', 'width='+w+', height='+h+', innerwidth='+w+', innerheight='+h+', screenx='+x0+', screeny='+y0+', left='+x0+', top='+y0+str_scrollbar); } return false; } // ------------------------------------------------------------------------------------------------------------------------------ function display_video(the_video_name, the_width, the_height, the_caption){ if (window.screen){ var w = parseint(the_width) + 20; var h = parseint(the_height) + 20; var x0 = (screen.availwidth - 10 - w)/2; var y0 = (screen.availheight - 30 - h)/2; window.open('../_include/_play_video/play_video.html?'+escape(the_video_name)+'&'+the_width+'&'+the_height+'&'+escape(the_caption),'', 'width='+w+', height='+h+', innerwidth='+w+', innerheight='+h+', screenx='+x0+', screeny='+y0+', left='+x0+', top='+y0); } } mm_preloadimages("../_images/background_top_dropdown_menu_left.gif", "../_images/background_top_dropdown_menu_right.gif"); // top dropdown menu $(function(){ var _top_menu_items = $("ul#top_menu>li"); _top_menu_items.hover( function(){ $(this).children("a").addclass("over"); $(this).children("ul").addclass("over"); }, function(){ $(this).children("a").removeclass("over"); $(this).children("ul").removeclass("over"); } ); }); // email protector $(function(){ var $emails = $(".email"); var real_address; $emails.each(function(){ real_address = $(this).text().replace(/\[\-at\-\]/, '@').replace(/\[\-dot\-\]/g, '.'); $(this).html("<a href='mailto:" + real_address + "' target='_blank'>" + real_address +"</a>"); }); }); // lightbox script // 2010-09-08 $(window).load(function(){ if($(".link_how_we_work").length>0){ $("body").append( get_html_lightbox() ); var _lightbox = $("#lightbox"), _shadow = $("#lightbox #lightbox_shadow"), _stage = $("#lightbox #lightbox_stage"); var _interval_default = 3000, _duration_default = 300; var _total, _frames = null, _index = -1, _go = true, _direction = 1, _timer = null, _interval = _interval_default, _duration = _duration_default; $.get("../_include/how_we_work.html", function(data){ _stage.prepend($("<div/>").append(data).find("ul#images_how_we_work")); _stage.append($("<div/>").append(data).find("div#nav_how_we_work")); _frames = $("ul#images_how_we_work li"); _total = _frames.length; $(".link_how_we_work").click(function(){_show();return false;}); $("#lightbox #lightbox_button_close").click(function(){_hide();return false;}); $("#nav_how_we_work #button_how_we_work_prev").click(function(){ if(!$(this).hasclass("disabled")) _prev(); return false; }); $("#nav_how_we_work #button_how_we_work_next").click(function(){ if(!$(this).hasclass("disabled")) _next(); return false; }); }); } function _start(){ _index = -1; for(var i=0;i<_total;i++) _frames.eq(i).css({'display':'none', 'opacity':0}); _go= true; _play(); } function _end(){ _go= false; if(_timer){ window.cleartimeout(_timer); _timer = null; } _index = -1; for(var i=0;i<_total;i++) _frames.eq(i).css({'display':'none', 'opacity':0}); } function _move(){ var _index_0 = _index; if(_direction>0){ _index = _index_0 + 1; if(_index==_total) _index = 0; }else{ if(_index_0>0) _index = _index_0 - 1; } if( _index !== -1 ) _interval = parseint(_frames.eq(_index).attr("id").split(":")[1]); if(isnan(_interval)) _interval = _interval_default; } function _play(){ var _index_0 = _index; _move(); if(_index == -1) return false; if( _index>_index_0 ) _frames.eq(_index) .css({'display':'block', 'opacity':0}) .animate( {opacity:1}, _duration, "linear", function(){ if(_index_0 !== -1) _frames.eq(_index_0).css({'display':'none', 'opacity':0}); } ); if( _index<_index_0 ) _frames.eq(_index).css({'display':'block', 'opacity':1}); _frames.eq(_index_0) .css({'display':'block', 'opacity':1}) .animate( {opacity:0}, _duration, "linear", function(){ $(this).css({'display':'none', 'opacity':0}); } ); if(_total>1 && _go){ if(_timer) window.cleartimeout(_timer); _timer = settimeout(_play, _interval); } if( _index == 0 ){ $("#nav_how_we_work #button_how_we_work_prev").addclass("disabled"); }else{ $("#nav_how_we_work #button_how_we_work_prev").removeclass("disabled"); } if( _index == _total-1 ){ $("#nav_how_we_work #button_how_we_work_next").addclass("disabled"); }else{ $("#nav_how_we_work #button_how_we_work_next").removeclass("disabled"); } } function _pause(){ _go= false; if(_timer){ window.cleartimeout(_timer); _timer = null; } } function _prev(){ _direction = -1; _pause(); _play(); } function _next(){ _direction = 1; _pause(); _play(); } function _show(){ _resize(); _lightbox.css({'visibility':'visible'}); _shadow.animate( {opacity:0.5}, 200, "linear", function(){ _stage.css({'visibility':'visible'}); _start(); } ); } function _hide(){ _end(); _lightbox.css({'visibility':'hidden'}); _stage.css({'visibility':'hidden'}); _shadow.css({opacity:0}); } $(window).resize(function() { if( _lightbox.css('visibility') == 'visible' ){_resize();} }); function _resize(){ var _page_sizes = get_page_size(), _page_scrolls = get_page_scroll(), _top = ( (_page_sizes[3] - _stage.height())/3>20?(_page_sizes[3] - _stage.height())/3:20 ) + _page_scrolls[1]; _lightbox.css({width:_page_sizes[0], height:_page_sizes[1]}); _shadow.css({width:_page_sizes[0], height:_page_sizes[1]}); _stage.css({top:_top}); } }); function get_html_lightbox(){ var s=""; s += "<div id='lightbox'>"; s += " <div id='lightbox_shadow'><!-- --></div>"; s += " <div id='lightbox_stage'>"; s += " <a id='lightbox_button_close' href='' onclick='return false;'>close</a>"; s += " </div>"; s += "</div>"; return s; } /** * getpagesize() quirksmode.com * * @return array return array page width, height , window width, height */ function get_page_size() { var xscroll, yscroll; if (window.innerheight && window.scrollmaxy) { xscroll = window.innerwidth + window.scrollmaxx; yscroll = window.innerheight + window.scrollmaxy; } else if (document.body.scrollheight > document.body.offsetheight){ // explorer mac xscroll = document.body.scrollwidth; yscroll = document.body.scrollheight; } else { // explorer mac...would work in explorer 6 strict, mozilla , safari xscroll = document.body.offsetwidth; yscroll = document.body.offsetheight; } var windowwidth, windowheight; if (self.innerheight) { // except explorer if(document.documentelement.clientwidth){ windowwidth = document.documentelement.clientwidth; } else { windowwidth = self.innerwidth; } windowheight = self.innerheight; } else if (document.documentelement && document.documentelement.clientheight) { // explorer 6 strict mode windowwidth = document.documentelement.clientwidth; windowheight = document.documentelement.clientheight; } else if (document.body) { // other explorers windowwidth = document.body.clientwidth; windowheight = document.body.clientheight; } // small pages total height less height of viewport if(yscroll < windowheight){ pageheight = windowheight; } else { pageheight = yscroll; } // small pages total width less width of viewport if(xscroll < windowwidth){ pagewidth = xscroll; } else { pagewidth = windowwidth; } arraypagesize = new array(pagewidth,pageheight,windowwidth,windowheight, yscroll); return arraypagesize; }; /** * getpagescroll() quirksmode.com * * @return array return array x,y page scroll values. */ function get_page_scroll() { var xscroll, yscroll; if (self.pageyoffset) { yscroll = self.pageyoffset; xscroll = self.pagexoffset; } else if (document.documentelement && document.documentelement.scrolltop) { // explorer 6 strict yscroll = document.documentelement.scrolltop; xscroll = document.documentelement.scrollleft; } else if (document.body) {// other explorers yscroll = document.body.scrolltop; xscroll = document.body.scrollleft; } arraypagescroll = new array(xscroll,yscroll); return arraypagescroll; }; // ======================================================================================================================== // swap images function mm_preloadimages() { //v3.0 var d=document; if(d.images){ if(!d.mm_p) d.mm_p=new array(); var i,j=d.mm_p.length,a=mm_preloadimages.arguments; for(i=0; i<a.length; i++) if (a[i].indexof("#")!=0){ d.mm_p[j]=new image; d.mm_p[j++].src=a[i];}} } function mm_swapimgrestore() { //v3.0 var i,x,a=document.mm_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.osrc;i++) x.src=x.osrc; } function mm_findobj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexof("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=mm_findobj(n,d.layers[i].document); if(!x && d.getelementbyid) x=d.getelementbyid(n); return x; } function mm_swapimage() { imgrestore_buttons(); var i,j=0,x,a=mm_swapimage.arguments; document.mm_sr=new array; for(i=0;i<(a.length-2);i+=3) if ((x=mm_findobj(a[i]))!=null){document.mm_sr[j++]=x; if(!x.osrc) x.osrc=x.src; x.src=a[i+2];} } function mm_openbrwindow(theurl,winname,features) { //v2.0 window.open(theurl,winname,features); } function imgrestore_buttons() { var i,j,x,b,a=document.mm_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.osrc&&(a[i].id!="image_exterior")&&(a[i].id!="image_floor_plan");i++){x.src=x.osrc;} } // ======================================================================================================================== //v1.0 //copyright 2006 adobe systems, inc. rights reserved. function ac_addextension(src, ext) { if (src.indexof('?') != -1) return src.replace(/\?/, ext+'?'); else return src + ext; } function ac_generateobj(objattrs, params, embedattrs) { var str = '<object '; (var in objattrs) str += + '="' + objattrs[i] + '" '; str += '>'; (var in params) str += '<param name="' + + '" value="' + params[i] + '" /> '; str += '<embed '; (var in embedattrs) str += + '="' + embedattrs[i] + '" '; str += ' ></embed></object>'; document.write(str); } function ac_fl_runcontent(){ var ret = ac_getargs ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" , "application/x-shockwave-flash" ); ac_generateobj(ret.objattrs, ret.params, ret.embedattrs); } function ac_sw_runcontent(){ var ret = ac_getargs ( arguments, ".dcr", "src", "clsid:166b1bca-3f9c-11cf-8075-444553540000" , null ); ac_generateobj(ret.objattrs, ret.params, ret.embedattrs); } function ac_getargs(args, ext, srcparamname, classid, mimetype){ var ret = new object(); ret.embedattrs = new object(); ret.params = new object(); ret.objattrs = new object(); (var i=0; < args.length; i=i+2){ var currarg = args[i].tolowercase(); switch (currarg){ case "classid": break; case "pluginspage": ret.embedattrs[args[i]] = args[i+1]; break; case "src": case "movie": args[i+1] = ac_addextension(args[i+1], ext); ret.embedattrs["src"] = args[i+1]; ret.params[srcparamname] = args[i+1]; break; case "onafterupdate": case "onbeforeupdate": case "onblur": case "oncellchange": case "onclick": case "ondblclick": case "ondrag": case "ondragend": case "ondragenter": case "ondragleave": case "ondragover": case "ondrop": case "onfinish": case "onfocus": case "onhelp": case "onmousedown": case "onmouseup": case "onmouseover": case "onmousemove": case "onmouseout": case "onkeypress": case "onkeydown": case "onkeyup": case "onload": case "onlosecapture": case "onpropertychange": case "onreadystatechange": case "onrowsdelete": case "onrowenter": case "onrowexit": case "onrowsinserted": case "onstart": case "onscroll": case "onbeforeeditfocus": case "onactivate": case "onbeforedeactivate": case "ondeactivate": case "type": case "codebase": ret.objattrs[args[i]] = args[i+1]; break; case "width": case "height": case "align": case "vspace": case "hspace": case "class": case "title": case "accesskey": case "name": case "id": case "tabindex": ret.embedattrs[args[i]] = ret.objattrs[args[i]] = args[i+1]; break; default: ret.embedattrs[args[i]] = ret.params[args[i]] = args[i+1]; } } ret.objattrs["classid"] = classid; if (mimetype) ret.embedattrs["type"] = mimetype; return ret; } function mm_checkflashversion(reqverstr,msg){ with(navigator){ var isie = (appversion.indexof("msie") != -1 && useragent.indexof("opera") == -1); var iswin = (appversion.tolowercase().indexof("win") != -1); if (!isie || !iswin){ var flashver = -1; if (plugins && plugins.length > 0){ var desc = plugins["shockwave flash"] ? plugins["shockwave flash"].description : ""; desc = plugins["shockwave flash 2.0"] ? plugins["shockwave flash 2.0"].description : desc; if (desc == "") flashver = -1; else{ var descarr = desc.split(" "); var temparrmajor = descarr[2].split("."); var vermajor = temparrmajor[0]; var temparrminor = (descarr[3] != "") ? descarr[3].split("r") : descarr[4].split("r"); var verminor = (temparrminor[1] > 0) ? temparrminor[1] : 0; flashver = parsefloat(vermajor + "." + verminor); } } // webtv has flash player 4 or lower -- low video else if (useragent.tolowercase().indexof("webtv") != -1) flashver = 4.0; var verarr = reqverstr.split(","); var reqver = parsefloat(verarr[0] + "." + verarr[2]); if (flashver < reqver){ if (confirm(msg)) window.location = "http://www.macromedia.com/shockwave/download/download.cgi?p1_prod_version=shockwaveflash"; } } } }
$(function(){ $('#body_left a').click(function() { // observe triangle <a> var page = this.id.split('_')[1] + ".html"; // prepare page step2.html $('#something').load(page,function() { //load page place get_html_lightbox(); //open lightbox }); return false; //prevent <a> tag jumping around... }); });
plus... using lot of unnecessary code; example: lightbox, can find lots of lightbox plugins
build jquery, using get_page_size()
can avoid using $(window).width()
Comments
Post a Comment