PDA

View Full Version : Javascript not running



Maynard
07-30-2008, 09:22 PM
I realized this should have been scripting conflicts not script not running, sorry.



1) Drop-in content box
2) http://www.dynamicdrive.com/dynamicindex17/dropinbox.htm

3) Describe problem:

The script runs great, when it is the only script in the head.

If I put this script:

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "blank")
anchor.target = "_blank";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "parent")
anchor.target = "_parent";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "self")
anchor.target = "_self";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "iframe")
anchor.target = "iframe";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "ss")
anchor.target = "showFrame";
}
}

window.onload = externalLinks;

before Drop-in content box neither script runs.

But if it is after Drop-in content box, Drop-in content box will not run, but the other script will.

How do I remedy this? I would like both scripts.

Maynard.

rangana
07-31-2008, 02:21 AM
This should do it:


<script type="text/javascript">

// Drop-in content box- By Dynamic Drive
// For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
// This credit MUST stay intact for use

var ie=document.all
var dom=document.getElementById
var ns4=document.layers
var calunits=document.layers? "" : "px"

var bouncelimit=32 //(must be divisible by 8)
var direction="up"

function initbox(){
if (!dom&&!ie&&!ns4)
return
crossobj=(dom)?document.getElementById("dropin").style : ie? document.all.dropin : document.dropin
scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
crossobj.top=scroll_top-250+calunits
crossobj.visibility=(dom||ie)? "visible" : "show"
dropstart=setInterval("dropin()",50)
}

function dropin(){
scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
if (parseInt(crossobj.top)<100+scroll_top)
crossobj.top=parseInt(crossobj.top)+40+calunits
else{
clearInterval(dropstart)
bouncestart=setInterval("bouncein()",50)
}
}

function bouncein(){
crossobj.top=parseInt(crossobj.top)-bouncelimit+calunits
if (bouncelimit<0)
bouncelimit+=8
bouncelimit=bouncelimit*-1
if (bouncelimit==0){
clearInterval(bouncestart)
}
}

function dismissbox(){
if (window.bouncestart) clearInterval(bouncestart)
crossobj.visibility="hidden"
}

function truebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "blank")
anchor.target = "_blank";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "parent")
anchor.target = "_parent";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "self")
anchor.target = "_self";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "iframe")
anchor.target = "iframe";
else if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "ss")
anchor.target = "showFrame";
}
}
window.onload = function(){externalLinks();initbox();}
</script>


Basically, you cannot use two onload events simultaneously.
You might find this link useful:
http://www.javascriptkit.com/javatutors/multiplejava3.shtml

Maynard
08-01-2008, 05:08 PM
Oh, I did not know that.

thanks...

It makes sense now that you mention it. Not like application programming where you can include all you want, but you do have perimeters to deal with.

thanks again.

- M

Maynard
08-20-2008, 05:08 PM
It works BUT the reason I used the:

http://www.dynamicdrive.com/dynamici.../dropinbox.htm

was for the ability to have it happen once every session for the visitor...

now it drops in every refresh. Not what I was looking for, but thanks for the help.

I will keep searching.

- peace