PDA

View Full Version : Newbie needs some help



genestoy
08-28-2005, 07:25 PM
I have implemented this Popup Box (DHTML Announcement Box)
script by Jim Silver - http://www.dynamicdrive.com/dynamicindex11/abox.htm
and I would like to know if there is a way to make it present itself only "once per browser session"? If not does anybody know of a script like it that will?
Thanks for any help :)
Gene

Twey
08-28-2005, 07:44 PM
<script type="text/javascript">

/******************************************
* Popup Box- By Jim Silver @ jimsilver47@yahoo.com
* Visit http://www.dynamicdrive.com/ for full source code
* This notice must stay intact for use
******************************************/

var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

//drag drop function for NS 4////
/////////////////////////////////

var dragswitch=0
var nsx
var nsy
var nstemp

function drag_dropns(name){
if (!ns4)
return
temp=eval(name)
temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
temp.onmousedown=gons
temp.onmousemove=dragns
temp.onmouseup=stopns
}

function gons(e){
temp.captureEvents(Event.MOUSEMOVE)
nsx=e.x
nsy=e.y
}
function dragns(e){
if (dragswitch==1){
temp.moveBy(e.x-nsx,e.y-nsy)
return false
}
}

function stopns(){
temp.releaseEvents(Event.MOUSEMOVE)
}

//drag drop function for ie4+ and NS6////
/////////////////////////////////


function drag_drop(e){
if (ie4&&dragapproved){
crossobj.style.left=tempx+event.clientX-offsetx
crossobj.style.top=tempy+event.clientY-offsety
return false
}
else if (ns6&&dragapproved){
crossobj.style.left=tempx+e.clientX-offsetx+"px"
crossobj.style.top=tempy+e.clientY-offsety+"px"
return false
}
}

function initializedrag(e){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage
var firedobj=ns6? e.target : event.srcElement
var topelement=ns6? "html" : document.compatMode && document.compatMode!="BackCompat"? "documentElement" : "body"
while (firedobj.tagName!=topelement.toUpperCase() && firedobj.id!="dragbar"){
firedobj=ns6? firedobj.parentNode : firedobj.parentElement
}

if (firedobj.id=="dragbar"){
offsetx=ie4? event.clientX : e.clientX
offsety=ie4? event.clientY : e.clientY

tempx=parseInt(crossobj.style.left)
tempy=parseInt(crossobj.style.top)

dragapproved=true
document.onmousemove=drag_drop
}
}
document.onmouseup=new Function("dragapproved=false")

////drag drop functions end here//////

function hidebox(){
crossobj=ns6? document.getElementById("showimage") : document.all.showimage
if (ie4||ns6)
crossobj.style.visibility="hidden"
else if (ns4)
document.showimage.visibility="hide"
}

if(document.cookie == "monkeys=monkeys") hidebox();
else document.cookie = "monkeys=monkeys";

</script>

genestoy
08-28-2005, 07:55 PM
Twey,
Thanks for the reply but I added what you highlighted in red, uploaded it to the server and the script still performs the same as before. Yes I have cookies enabled on my computer. Any suggestions?
Thanks - Gene

Twey
08-29-2005, 11:16 AM
Try putting:

<script type="text/javascript">
if(document.cookie == "monkeys=monkeys") hidebox();
else document.cookie = "monkeys=monkeys";
</script>
...directly after the </div>.

genestoy
08-29-2005, 03:12 PM
Twey,
Thanks for your help, but I found a script that does exactly what I want and the "once per session" or "every visit to page" can be changed to suit the page. I found it here if anybody is interested - http://www.javascriptkit.com/script/script2/postit.shtml
Gene