/    Sign up×
Community /Pin to ProfileBookmark

Is this possible?

I’m designing my first proper site (I’ve been designing sites for a while just never made one with the intention of having it up and running) and I need to know if I’m wasting my time over this..
Basically what I want is 2 expandable pages(maybe div layers) on either side of my contents page so that when you click the button the pages slide out from the side.. I’m not sure if this is possible or not.. I’ve included a picture to give you a more clear idea of what I mean. Is this possible with javascript, or am I wasting my time?

[url]http://i744.photobucket.com/albums/xx88/dcdezine/possibleornot.jpg[/url]
^Picture

Also, apologies if this thread is in the wrong section.
Thanks!

to post a comment
JavaScript

2 Comments(s)

Copy linkTweet thisAlerts:
@skywalker2208Apr 02.2010 — Yes it is possible. I take it that it would look a little like this

http://sorgalla.com/projects/jcarousel/examples/static_simple.html
Copy linkTweet thisAlerts:
@vwphillipsApr 03.2010 — [CODE]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title></title>
<style type="text/css">
/*<![CDATA[*/
.main {
position:absolute;
z-Index:2;
left:250px;top:50px;
width:500px;height:500px;
}

.content {
position:absolute;
z-Index:2;
left:0px;top:0px;
width:500px;height:500px;
background-Color:#FFCC66;
}

.left {
position:absolute;
left:0px;top:50px;
width:155px;height:400px;
background-Color:#CCFFFF;
}

#lefttab {
position:absolute;
overflow:hidden;
left:-50px;top:100px;
width:50px;height:100px;
background-Color:#CCFFFF;
}


.right {
position:absolute;
left:350px;top:50px;
width:150px;height:400px;
background-Color:#CCFFFF;
}

#righttab {
position:absolute;
overflow:hidden;
left:150px;top:100px;
width:50px;height:100px;
background-Color:#CCFFFF;
}

/*]]>*/
</style>
<script type="text/javascript">
// Animate (11-January-2010)
// by Vic Phillips http://www.vicsjavascripts.org.uk

// To progressively change the Left, Top, Width, Height or Opacity of an element over a specified period of time.
// With the ability to scale the effect time on specified minimum/maximum values
// and with three types of progression 'sin' and 'cos' and liner.

// **** Application Notes

// **** The HTML Code
//
// when moving an element the inline or class rule style position of the element should be assigned as
// 'position:relative;' or 'position:absolute;'
//
// The element would normally be assigned a unique ID name.
//

// **** Initialising the Script.
//
// The script is initialised by assigning an instance of the script to a variable.
// e.g A = new zxcAnimate('left','id1')
// where:
// A = a global variable (variable)
// parameter 0 = the mode(see Note 1). (string)
// parameter 1 = the unique ID name or element object. (string or element object)
// parameter 1 = the initial value. (digits, default = 0)

// **** Executing the Effect
//
// The effect is executed by an event call to function 'A.animate(10,800 ,5000,[10,800]);'
// where:
// A = the global referencing the script instance. (variable)
// parameter 0 = the start value. (digits, for opacity minimum 0, maximum 100)
// parameter 1 = the finish value. (digits, for opacity minimum 0, maximum 100)
// parameter 2 = period of time between the start and finish of the effect in milliseconds. (digits or defaults to previous or 0(on first call) milliSeconds)
// parameter 3 = (optional) to scale the effect time on a specified minimum/maximum. (array, see Note 3)
// field 0 the minimum value. (digits)
// field 1 the maximum value. (digits)
// parameter 3 = (optional) the type of progression, 'sin', 'cos' or 'liner'. (string, default = 'liner')
// 'sin' progression starts fast and ends slow.
// 'cos' progression starts slow and ends fast.
//
// Note 1: Examples modes: 'left', 'top', 'width', 'height', 'opacity.
// Note 2: The default units(excepting opacity) are 'px'.
// For hyphenated modes, the first character after the hyphen must be upper case, all others lower case.
// Note 3: The scale is of particular use when re-calling the effect
// in mid progression to retain an constant rate of progression.
// Note 4: The current effect value is recorded in A.data[0].
// Note 5: A function may be called on completion of the effect by assigning the function
// to the animator intance property .Complete.
// e.g. [instance].Complete=function(){ alert(this.data[0]); };
//



// **** Functional Code(1.58K) - NO NEED to Change

function zxcAnimate(mde,obj,srt){
this.to=null;
this.obj=typeof(obj)=='object'?obj:document.getElementById(obj);
this.mde=mde.replace(/W/g,'');
this.data=[srt||0];
return this;
}

zxcAnimate.prototype.animate=function(srt,fin,ms,scale,c){
clearTimeout(this.to);
this.time=ms||this.time||0;
this.neg=srt<0||fin<0;
this.data=[srt,srt,fin];
this.mS=this.time*(!scale?1:Math.abs((fin-srt)/(scale[1]-scale[0])));
this.c=typeof(c)=='string'?c.charAt(0).toLowerCase():this.c?this.c:'';
this.inc=Math.PI/(2*this.mS);
this.srttime=new Date().getTime();
this.cng();
}

zxcAnimate.prototype.cng=function(){
var oop=this,ms=new Date().getTime()-this.srttime;
this.data[0]=(this.c=='s')?(this.data[2]-this.data[1])*Math.sin(this.inc*ms)+this.data[1]:(this.c=='c')?this.data[2]-(this.data[2]-this.data[1])*Math.cos(this.inc*ms):(this.data[2]-this.data[1])/this.mS*ms+this.data[1];
this.apply();
if (ms<this.mS) this.to=setTimeout(function(){oop.cng()},10);
else {
this.data[0]=this.data[2];
this.apply();
if (this.Complete) this.Complete(this);
}
}

zxcAnimate.prototype.apply=function(){
if (isFinite(this.data[0])){
if (this.data[0]<0&&!this.neg) this.data[0]=0;
if (this.mde!='opacity') this.obj.style[this.mde]=Math.floor(this.data[0])+'px';
else zxcOpacity(this.obj,this.data[0]);
}
}

function zxcOpacity(obj,opc){
if (opc<0||opc>100) return;
obj.style.filter='alpha(opacity='+opc+')';
obj.style.opacity=obj.style.MozOpacity=obj.style.KhtmlOpacity=opc/100-.001;
}


</script>

</head>

<body>http://www.webdeveloper.com/forum/showthread.php?t=227372
<div class="main" >
<div class="left" >
<div id="lefttab" ></div>
</div>
<div class="right" >
<div id="righttab" ></div>
</div>
<div class="content" ></div>
</div>
<script type="text/javascript">
/*<![CDATA[*/
function Slide(o){
var tab=document.getElementById(o.TabID);
var panel=tab.parentNode
this.lftsrtfin=o.PanelLeftFromTo;
this.lft=new zxcAnimate('left',panel,this.lftsrtfin[0]);
this.ms=o.Duration||1000;
this.ud=true;
this.addevt(tab,'mouseup','Slide');
}

Slide.prototype.Slide=function(){
this.lft.animate(this.lft.data[0],this.lftsrtfin[this.ud?1:0],this.ms);
this.ud=!this.ud
}

Slide.prototype.addevt=function(o,t,f,p){
var oop=this;
if (o.addEventListener) o.addEventListener(t,function(e){ return oop[f](e,p);}, false);
else if (o.attachEvent) o.attachEvent('on'+t,function(e){ return oop[f](e,p); });
else {
var prev=o['on'+t];
if (prev) o['on'+t]=function(e){ prev(e); oop[f](e,p); };
else o['on'+t]=o[f];
}
}



new Slide({
TabID:'lefttab',
PanelLeftFromTo:[0,-150],
Duration:1000
});

new Slide({
TabID:'righttab',
PanelLeftFromTo:[350,500],
Duration:1000
});

/*]]>*/
</script></body>

</html>[/CODE]
×

Success!

Help @dcdezine spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.21,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...