batric
12-01-2008, 02:02 PM
I use fisheye effect for menu on my webpage (http://www.ajaxdaddy.com/demo-interface-fisheye.html). I'd like to add something like lightwindow (http://stickmanlabs.com/lightwindow/) so all the links will be opened in javascript window.
But there's an error.
When I add the prototype.js, it is required for lightwindow, it disables my fisheye effect.
Has anyone had similar problems? Any ideas?
Thanks in any case :)
Batric
ohgod
12-01-2008, 02:25 PM
watch for js errors, find the conflict. it's going to be some function or resource named the same and causing a conflict.
vwphillips
12-01-2008, 04:54 PM
you are using both prototype and jQuery librarys which are not compatable as they both use a function name '$'
I can offer something similar to the fish eye script
<!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[*/
body {
height:1000px;
}
.zxcDisplayClass {
background-Color:#FFFFCC;border:solid black 1px;padding:20px;
}
#zxcMask {
position:absolute;z-Index:100;visibility:hidden;left:0px;height:0px;width:100%;height:100%;background-Color:#FFCC66;
}
#Caption0 {
display:none;height:20px;padding:10px;border-Top:solid black 1px;
}
#Caption1 {
display:none;height:20px;padding-Left:10px;background-Color:#FFCC66;text-Align:center;
}
.horizontal {
position:relative;overflow:hidden;text-Align:center;visibility:hidden;width:500px;height:150px;background-Color:#FFFFCC;border:solid black 1px;
}
.vertical {
position:relative;overflow:hidden;visibility:visible;width:150px;height:390px;background-Color:#FFFFCC;border:solid black 1px;
}
#tst IMG{
position:relative;top:50px;
}
/*]]>*/
</style>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
// ExpandSlide (26-October-2008) DRAFT
// by Vic Phillips http://www.vicsjavascripts.org.uk
//<body onload="zxcExpandSlideInit('tst','H',100,150,100,10,'top','left','right');">
//<body onload="zxcExpandSlideInit('tst1','V',100,150,100,10,'center','leftv','rightv');">
// parameter 0 = the parent DIV unique id name. (string)
// parameter 1 = Horizontal('H') or Vertical('V') application. (string, 'H' or 'V')
// parameter 2 = (optional) the element distance from the mouse where expansion will be applied. (digits, default = 100)
// parameter 3 = (optional) the maximum expansion of the element as a percentage. (digits, default = 100)
// parameter 4 = (optional) the distance from the left or right of the parent to scroll. (digits, default = no scroll)
// parameter 5 = (optional) the maximum scroll increment/speed. (digits, default = 5)
// parameter 6 = (optional) to align the elements
// 'center' or 'top' or 'bottom' for horizontal or 'left' or 'right' for vertical. (string, default = 'center')
// parameter 7 = (optional) the id name of the scroll left indication element. (string, default = no element)
// parameter 8 = (optional) the id name of the scroll right indication element. (string, default = no element)
// Code Size about 5.5K
// Functional Code - NO NEED to Change
function zxcExpandSlideInit(zxcp,zxchv,zxcmde,zxcpitch,zxcexp,zxcs,zxcinc,zxcimgl,zxcimgr){
if (typeof(zxcp)=='string') zxcp=document.getElementById(zxcp);
if (!zxcp.ary){
zxcp.imgs=[document.getElementById(zxcimgl)||false,document.getElementById(zxcimgr)||false];
zxcp.data=zxchv.charAt(0).toUpperCase()=='H'?['left','top','width','height',0,zxcp.offsetWidth]:['top','left','height','width',1,zxcp.offsetHeight];
zxcmde=(zxcmde||'C').charAt(0).toUpperCase();
// 6 = pitch, 7 = ratio, 8 !T&!L, 9 = center, 10 = scroll, 11= increment
zxcp.data=zxcp.data.concat([zxcpitch||100,((zxcexp||200)/100)-1,(zxcmde!='T'&&zxcmde!='L'),zxcmde=='C'?2:1,zxcs||false,zxcinc||5])
zxcp.sobj=zxcp.getElementsByTagName('DIV')[0];
var zxcclds=zxcp.sobj.childNodes;
zxcp.ary=[];
for (var zxcmax=0,zxc0=0;zxc0<zxcclds.length;zxc0++){
if (zxcclds[zxc0].nodeType==1){
var zxch=zxcp.data[0]=='left'?zxcclds[zxc0].offsetHeight:zxcclds[zxc0].offsetWidth;
if (zxch+zxch*zxcp.data[7]>zxcmax) zxcmax=zxch+zxch*zxcp.data[7];
zxcp.ary.push([zxcclds[zxc0],zxcp.data[0]=='left'?zxcclds[zxc0].offsetWidth:zxcclds[zxc0].offsetHeight,zxch]);
}
}
zxcmax/=zxcp.data[9];
zxcp.sobj.style[zxcp.data[0]]='0px';
zxcExpandReset(zxcp,zxcmax);
zxcp.sobj.onmousemove=function(){ zxcExpandSlide(zxcp); }
zxcp.sobj.onmouseout=function(){ zxcExpandSlideOut(zxcp); }
zxcp.style.visibility='visible';
}
}
function zxcExpandSlide(zxcp){
var zxcevt=window.event||arguments.callee.caller.arguments[0];
var zxcmse=zxcMse(zxcevt)[zxcp.data[4]]-zxcPos(zxcp.sobj)[zxcp.data[4]]+parseInt(zxcp.sobj.style[zxcp.data[0]]);
var zxcx=parseInt(zxcp.sobj.style[zxcp.data[0]]);
for (var zxclft=0,zxc1=0;zxc1<zxcp.ary.length;zxc1++){
var zxcobj=zxcp.ary[zxc1][0];
var zxcc=Math.abs((parseInt(zxcobj.style[zxcp.data[0]])+zxcp.ary[zxc1][1]/2)-(zxcmse-zxcx));
if (zxcc<zxcp.data[6]){
var zxcexp=((zxcp.data[6]-zxcc)/zxcp.data[6])*zxcp.data[7];
if (zxcp.data[8]) zxcobj.style[zxcp.data[1]]=zxcp.ary[zxc1][3]-(zxcp.ary[zxc1][2]+zxcp.ary[zxc1][2]*zxcexp-zxcp.ary[zxc1][2])/zxcp.data[9]+'px';
zxcobj.style[zxcp.data[2]]=zxcp.ary[zxc1][1]*(1+zxcexp)+'px';
zxcobj.style[zxcp.data[3]]=zxcp.ary[zxc1][2]*(1+zxcexp)+'px';
}
else {
zxcobj.style[zxcp.data[1]]=zxcp.ary[zxc1][3]+'px';
zxcobj.style[zxcp.data[2]]=zxcp.ary[zxc1][1]+'px';
zxcobj.style[zxcp.data[3]]=zxcp.ary[zxc1][2]+'px';
}
zxcobj.style[zxcp.data[0]]=zxclft+'px';
zxclft+=parseInt(zxcobj.style[zxcp.data[2]]);
}
// left,top,width,height,0,502,100,0.5,true,2,false,5
zxcp.sobj.style[zxcp.data[2]]=parseInt(zxcp.ary[zxc1-1][0].style[zxcp.data[0]])+parseInt(zxcp.ary[zxc1-1][0].style[zxcp.data[2]])+'px';
clearTimeout(zxcp.to);
if (zxcp.data[10]) zxcExpandScroll(zxcp,zxcmse<zxcp.data[10]?zxcp.data[11]*(1-(zxcmse/zxcp.data[10])):(zxcmse>zxcp.data[5]-zxcp.data[10])?(zxcp.data[11]*((zxcp.data[5]-zxcmse)/zxcp.data[10]))-zxcp.data[11]:0);
}
function zxcExpandReset(zxcp,zxcmax){
//left,top,width,height,0,502,100,0.5,false,1,false,5
if (zxcp.imgs[0]) zxcp.imgs[0].style.visibility='visible';
if (zxcp.imgs[1]) zxcp.imgs[1].style.visibility='visible';
for (var zxclft=0,zxc1=0;zxc1<zxcp.ary.length;zxc1++){
if (zxcmax) zxcp.ary[zxc1][3]=zxcp.data[8]?zxcmax-zxcp.ary[zxc1][2]/zxcp.data[9]:0;
var zxcobj=zxcp.ary[zxc1][0];
zxcobj.style.position='absolute';
zxcobj.style[zxcp.data[0]]=zxclft+'px';
zxcobj.style[zxcp.data[1]]=zxcp.ary[zxc1][3]+'px';
zxcobj.style[zxcp.data[2]]=zxcp.ary[zxc1][1]+'px';
zxcobj.style[zxcp.data[3]]=zxcp.ary[zxc1][2]+'px';
zxclft+=zxcp.ary[zxc1][1];
}
if (zxcp.data[10]) zxcp.sobj.style[zxcp.data[0]]=Math.max(-(zxclft-zxcp.data[5]),parseInt(zxcp.sobj.style[zxcp.data[0]]))+'px';
zxcp.sobj.style[zxcp.data[2]]=zxclft+'px';
return zxclft;
}
function zxcExpandScroll(zxcp,zxcs){
if (zxcp.imgs[0]) zxcp.imgs[0].style.visibility=zxcs>=0?'visible':'hidden';
if (zxcp.imgs[1]) zxcp.imgs[1].style.visibility=zxcs<=0?'visible':'hidden';
zxcp.sobj.style[zxcp.data[0]]=Math.min(Math.max(parseInt(zxcp.sobj.style[zxcp.data[0]])+zxcs,-(parseInt(zxcp.sobj.style[zxcp.data[2]])-zxcp.data[5])),0)+'px'
if (zxcs!=0) zxcp.to=setTimeout( function(){ zxcExpandScroll(zxcp,zxcs); },10)
}
function zxcExpandSlideOut(zxcp){
if (typeof(zxcp)=='string') zxcp=document.getElementById(zxcp);
var zxcevt=window.event||arguments.callee.caller.arguments[0];
if (zxcCkEventObj(zxcevt,zxcp.sobj)){
clearTimeout(zxcp.to);
zxcExpandReset(zxcp);
}
}
function zxcMse(zxcevt){
if(!zxcevt) var zxcevt=window.event;
if (document.all) return [zxcevt.clientX+zxcDocS()[0],zxcevt.clientY+zxcDocS()[1]];
return [zxcevt.pageX,zxcevt.pageY];
}
function zxcDocS(){
if (!document.body.scrollTop) return [document.documentElement.scrollLeft,document.documentElement.scrollTop];
return [document.body.scrollLeft,document.body.scrollTop];
}
function zxcPos(zxcobj){
zxclft=zxcobj.offsetLeft;
zxctop=zxcobj.offsetTop;
while(zxcobj.offsetParent!=null){
zxcpar=zxcobj.offsetParent;
zxclft+=zxcpar.offsetLeft;
zxctop+=zxcpar.offsetTop;
zxcobj=zxcpar;
}
return [zxclft,zxctop];
}
function zxcCkEventObj(zxce,zxcp){
if (!zxce) var zxce=window.event;
zxce.cancelBubble=true;
if (zxce.stopPropagation) zxce.stopPropagation();
if (zxce.target) zxceobj=zxce.target;
else if (zxce.srcElement) zxceobj=zxce.srcElement;
if (zxceobj.nodeType==3) zxceobj=zxceobj.parentNode;
var zxceobj=(zxce.relatedTarget)?zxce.relatedTarget:(zxce.type=='mouseout')?zxce.toElement:zxce.fromElem ent;
if (!zxceobj||zxceobj==zxcp) return false;
while (zxceobj.parentNode){
if (zxceobj==zxcp) return false;
zxceobj=zxceobj.parentNode;
}
return true;
}
/*]]>*/
</script>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
function Init(){
zxcExpandSlideInit('H1','h','top',100,150);
}
/*]]>*/
</script></head>
<body onload="Init();">
http://frostdesign.com.au/ <br />
<div id="H1" class="horizontal">
<div style="position:relative;top:0px;height:150px;background-Color:#FFFFCC;" >
<img src="http://www.vicsjavascripts.org.uk/StdImages/Zero.gif" width="50" height="50" />
<img src="http://www.vicsjavascripts.org.uk/StdImages/One.gif" width="50" height="50" />
<img src="http://www.vicsjavascripts.org.uk/StdImages/Two.gif" width="50" height="100" />
<img src="http://www.vicsjavascripts.org.uk/StdImages/Three.gif" width="100" height="50" />
</div>
</div>
</form>
</body>
</html>
rangana
12-02-2008, 03:15 AM
you are using both prototype and jQuery librarys which are not compatable as they both use a function name '$'
Well said.
Might be the same fix as to DD's jQuery conflicts to other framework:
http://www.dynamicdrive.com/forums/showpost.php?p=131578&postcount=2
Try to change all instances of $ to $j. (Do a global search and replace on interface.js).
Then, add this code at the very top of interface.js:
var $j = jQuery.noConflict()
batric
12-07-2008, 04:30 PM
@vwphilips: thanks for the link, but that script acts weird when I attach links to the images; instead of enlarging the image on rollover, the script just changes the distance between the images, not their size.
@rangana: I tried renaming all the instances, but still it is not working
Guess I'll just have to find something else to do that job
Thanks a lot to all of you! :thumbsup:
ash777
09-19-2009, 06:26 PM
i hv the same prob!! any1 found the solution?